gpt4 book ai didi

java - 我得到 : cannot invoke length() on the primitive type int

转载 作者:行者123 更新时间:2023-11-30 07:04:58 26 4
gpt4 key购买 nike

我们必须编写一个程序,使用 GUI 将二进制数转换为十进制数。首先,我在不使用 GUI 的情况下编写了程序,并且运行良好。然后我尝试使用 GUI,在编写程序时,我不断收到一条错误消息,指出“无法在基本类型 int 上调用 length()”

    int BinaryNumber, DecimalNumber;
try {
BinaryNumber = Integer.parseInt(textFieldtUserBinaryInput.getText());

DecimalNumber = 0;
for (int i = 0; i < BinaryNumber.length(); i++);
{
Character binary = BinaryNumber.charAt(i);
String temp = binary.toString();
int tempInt = Integer.parseInt(temp);
DecimalNumber = DecimalNumber * 2 + tempInt;
textFieldDecimal.setText(Integer.toString(DecimalNumber));
}




}catch (NumberFormatException exp){

JOptionPane.showMessageDialog(null, "Invalid format for a binary string - Illegal character");
}
}

非常感谢您的任何意见。谢谢!

这是我在没有尝试使用 GUI 的情况下工作时所拥有的

    public static int ConvertToDecimal(String BinaryNumber)
{
String pattern = "[0-1]*";
boolean patternMatched = Pattern.matches(pattern, BinaryNumber);
if(patternMatched)
{
int Decimal = 0;
for (int d = 0; d < BinaryNumber.length(); d++)
{
Character binary = BinaryNumber.charAt(d);
String temp = binary.toString();
int tempInt = Integer.parseInt(temp);
Decimal = Decimal * 2 + tempInt;
}
return Decimal;
}

最佳答案

原始类型没有方法,因为它们不是 Java 中的对象。在您的代码中,您正在执行 BinaryNumber.length() ,其中 BinaryNumber 的类型为 int ,之前您将 Bi​​naryNumber 用作 String 。

关于java - 我得到 : cannot invoke length() on the primitive type int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297251/

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