java使用数组将二进制转换为十进制
我想把二进制字符串变成十进制。如果输入-1,它将终止。我一直在使用数组。建议使用:public static int binaryToDecimal(String binaryString)。但我不知道该怎么做。这就是我所拥有的:
import java.util.Scanner;
public class BinaryConversion {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String inString;
int decimal;
System.out.println("Enter a binary number: ");
inString = input.nextLine();
while (inString != "-1") {
int i;
int binaryLength;
binaryLength = inString.length();
for (i = 0, decimal = 0; i < binaryLength; i++) {
decimal = decimal * 2 + (inString[i] - 0);
System.out.print(decimal);
}
System.out.println("Enter a binary number: ");
inString = input.nextLine();
}
System.out.println("All set !");
}
}
它说数组存在编译问题。谢谢!
# 1 楼答案
您可以使用
Integer.parseInt()
简化代码:# 2 楼答案
inString是字符串,而不是数组。所以,你不能使用inString[i]。要获取字符串中给定位置的字符,请使用inString。charAt(i),返回一个char
然后,还必须将该字符转换为int。 你可以用性格来做到这一点。getNumericValue(字符)
总之,不是
你需要使用