Java 使用解析进行字符串到整数的计算:
我对java非常陌生,试图编写一个程序,让用户输入一个数字,并将其与一组规则进行比较。我在JOptionPane之后使用了parse.Int,但是当我尝试一个'if'语句时,我收到了一个错误的操作数类型;第一种类型是string,第二种类型是int。我不明白,因为我使用了parse,为什么它不起作用。我知道我错过了什么Java 使用解析进行字符串到整数的计算:,java,Java,我对java非常陌生,试图编写一个程序,让用户输入一个数字,并将其与一组规则进行比较。我在JOptionPane之后使用了parse.Int,但是当我尝试一个'if'语句时,我收到了一个错误的操作数类型;第一种类型是string,第二种类型是int。我不明白,因为我使用了parse,为什么它不起作用。我知道我错过了什么 answer = 0; while(answer == JOptionPane.YES_OPTION) JOptionPane.showMessageDia
answer = 0;
while(answer == JOptionPane.YES_OPTION)
JOptionPane.showMessageDialog(null, " enter a number between 1-50", "by ...`enter code here`",
JOptionPane.PLAIN_MESSAGE);
String inputNumber;
inputNumber = JOptionPane.showInputDialog("Input an integer from one to 50: ");
Integer.parseInt(inputNumber);
if (inputNumber == 0 || inputNumber >= 51);
您正在忽略
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)
{
...
}
//此变量是字符串表示形式。。。
字符串inputText=JOptionPane.showInputDialog(“输入一个从1到50的整数:”);
// ... 现在inputNumber是从inputText解析出来的整数值
int inputNumber=Integer.parseInt(inputText);
如果(输入编号<1 | |输入编号>50)
{
...
}
请注意,如果用户未输入整数,则
Integer.parseInt
将引发异常,但这可能需要在单独的步骤中解决…您忽略了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)
{
...
}
//此变量是字符串表示形式。。。
字符串inputText=JOptionPane.showInputDialog(“输入一个从1到50的整数:”);
// ... 现在inputNumber是从inputText解析出来的整数值
int inputNumber=Integer.parseInt(inputText);
如果(输入编号<1 | |输入编号>50)
{
...
}
请注意,如果用户未输入整数,则Integer.parseInt
将引发异常,但这可能需要在单独的步骤中解决…这是因为您正在将字符串(inputNumber)与int值进行比较。
试试这个
int myint = Integer.parseInt(inputNumber);
if (myint == 0 || myint >= 51) {
...
}
这是因为您正在将字符串(inputNumber)与int值进行比较。
试试这个
int myint = Integer.parseInt(inputNumber);
if (myint == 0 || myint >= 51) {
...
}
Integer.parseInt
是一个函数,它将返回int
。但是,在本例中,作为参数传递的变量,inputNumber
仍将是一个String
变量。因此,您需要将Integer.parseInt
的结果分配给类型为int
的新变量,然后使用该变量进行比较。Integer.parseInt
是一个函数,它将返回int
。但是,在本例中,作为参数传递的变量,inputNumber
仍将是一个String
变量。因此,您需要将Integer.parseInt
的结果分配给int
类型的新变量,然后使用该变量进行比较。请参见代码中的注释。此外,还需要在Integer.parseInt周围使用try/catch或throws(不知道要在哪里使用它):
请参见代码中的注释。此外,还需要在Integer.parseInt周围使用try/catch或throws(不知道要在哪里使用它):
非常感谢。这有助于我更好地理解它。我不知道我需要另一个变量。谢谢。这有助于我更好地理解它。我不知道我需要另一个变量。