题目描述:
Write a code fragment that puts the binary representation of a positive integer N into a String s
-
书中提示的 Java 写法
int N = 12345; String s = ""; for (int n = N; n > 0; n/=2) s = (n %2) + s
-
Kotlin 写法
才发现 Kotlin 好像不论怎么写,都没有办法写出来 for loop 可以在括号内修改下一次迭代的值,用其它曲线救国的方式写也行,但是代码很难看,所以,没办法,当然是选择
原谅它用递归啦fun main(args: Array<String>) { println(12345.toBinaryString()) //用Java自带的函数验证一下 println(Integer.toBinaryString(12345)) } fun Int.toBinaryString(): String = if (this == 1) "1" else (this/2).toBinaryString() + this % 2
运行结果:没有问题