Мы должны создать программу, которая преобразует двоичные числа в десятичные числа с помощью графического интерфейса. Сначала я сделал программу без использования графического интерфейса, и он работал нормально. Тогда я попытался с GUI и, делая программу, которую я получаю сообщение об ошибке: «не может ссылаться на длину() на примитивном типа Int»Я получаю: не могу вызывать length() для примитивного типа int
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");
}
}
Любой вклад высоко оценен. Благодаря!
это то, что я имел, когда он работал, не пытаясь сделать графический интерфейс пользователя
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;
}
Ошибка довольно понятна и не имеет никакого отношения к графическому интерфейсу. Что вам непонятно? – shmosel
Я просто не уверен, как иметь BinaryNumber в этой функции. Когда я обычно делал программу, у меня было для (int d = 0; d