3 回答
TA贡献1813条经验 获得超2个赞
您忽略了Integer.parseInt. inputNumber仍然是一个String变量,而不是一个数字。为了更清楚,我会重命名它:
// This variable is the string representation...
String inputText = JOptionPane.showInputDialog("Input an integer from one to 50: ");
// ... and now inputNumber is the integer value parsed from inputText
int inputNumber = Integer.parseInt(inputText);
if (inputNumber < 1 || inputNumber > 50)
{
...
}
请注意,Integer.parseInt如果用户不输入整数,则会引发异常,但这可能需要在单独的步骤中修复......
TA贡献1890条经验 获得超9个赞
Integer.parseInt
是一个函数,它将返回int
. 在这种情况下,您作为参数传递的变量inputNumber
将仍然是一个String
变量。因此,您需要将结果Integer.parseInt
赋值给类型的新变量,int
然后使用该变量进行比较。
TA贡献1155条经验 获得超0个赞
请参阅代码中的注释。此外,您需要在 Integer.parseInt 周围进行 try/catch 或 throws (不知道您想在哪里拥有它):
answer = 0;
while(answer == JOptionPane.YES_OPTION)
...
String inputNumber;
inputNumber = JOptionPane.showInputDialog("Input an integer from one to 50: ");
//replace:
//Integer.parseInt(inputNumber);
int number = Integer.parseInt(inputNumber);
//replace:
//if (inputNumber == 0 || inputNumber >= 51);
if (number == 0 || number >= 51);
添加回答
举报