2
我試圖創建一個程序,它將返回一個分解爲兩個冪的特定數字。例如,45會顯示爲「2^5 + 2^3 + 2^2 + 2^0」,爲此我將數字轉換爲基數2並將其轉換爲字符串,以便我可以找到索引並獲取我想要的結果。但是當試圖返回索引時,我得到的第一個索引就是索引。任何人都可以幫我解決這個問題嗎?查找循環中的字符串索引
import java.util.*;
public class prog{
public static void main(String[] args){
Scanner keyb = new Scanner(System.in);
int val;
System.out.println("Valor");
val = keyb.nextInt();
int aux = val;
while (aux > 0){
int num = aux % 2;
aux /= 2;
String dig = String.valueOf(num);
String find = "1";
int index = dig.indexOf(find);
while (index >= 0) {
System.out.println(index);
index = dig.indexOf(find, index + 1);
}
}
}
['Integer.toBinaryString()'](http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html#toBinaryString(int%29) – NullUserException