通过循环进行Java整数确认


for (int i = 0; i < fields.length; i++)
{
    for (int j = 0; j < fields[i].length; j++)
    {
        if (fields[i][j].getText().length() == 0) //IF ZERO OR NOT A NUMBER
        {
            JOptionPane.showMessageDialog(null, "Answers missing");
            return;
        }
        answers[i][j] = Integer.parseInt(fields[i][j].getText());
    }
}

如何断言用户将输入一个数字(不是零)?是否可以使用OR操作符(||)将其添加到if语句中?

我会在您解析int的行周围添加一个try-catch块,并让它捕获NumberFormatException。这样,如果用户没有输入一个具有"可解析整数"的字符串,你的程序就不会崩溃。您可能会将JOptionPane消息放在catch块中。这也会捕捉到字符串长度为0的情况,所以你可能不需要if语句。使用if语句可以很容易地测试该数字是否为零。

我是这样写的

for (int i = 0; i < fields.length; i++)
{
    for (int j = 0; j < fields[i].length; j++)
    {
        try {
            int probableAnswer = Integer.parseInt(fields[i][j].getText());
            if(probableAnswer == 0) {
             JOptionPane.showMessageDialog(null, "Answers missing");
            }
            else {
                answers[i][j] = probableAnswer;
            }
        } //end try block
        catch(NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Answers missing");
        }
    }
}
http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html方法(以)

相关内容

  • 没有找到相关文章

最新更新