gpt4 book ai didi

java - 使用数组将二进制转换为十进制

转载 作者:行者123 更新时间:2023-12-01 23:06:38 24 4
gpt4 key购买 nike

我正在尝试将二进制字符串转换为十进制。如果输入-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 !");
}
}

它表示数组存在编译问题。谢谢!

最佳答案

inString 是字符串,而不是数组。所以,你不能使用inString[i]。要获取字符串中给定位置的字符,请使用 inString.charAt(i),它返回一个字符。

然后,您还必须将该 char 转换为 int。您可以使用Character.getNumericValue(char) 来完成此操作。

总而言之,而不是

inString[i]

你需要使用

Character.getNumericValue(inString.charAt(i))

关于java - 使用数组将二进制转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com