扫描程序并使用nextLine()将文本与数字和字符串进行比较 - NumberFormatException

时间:2018-02-10 17:50:51

标签: java if-statement

我从很多来源学习java语言(最近主要来自mooc.fi),今天我又遇到了else和if else语句的问题。 有我的代码:

import java.util.Scanner;

public class Main {

     public static void main(String[] args) {
     Scanner reader=new Scanner(System.in);
        while (true) {
        System.out.println("Choose operation:\n[1] Add xx\n[2] Add yyy\n[x] 
Exit");
        String text = reader.nextLine();
        if (text.equals("x")) {
            break;
        }else if (Integer.parseInt(text) == 1) {
            //xxx         
        } else if (Integer.parseInt(text) == 2) {
            //xxx
        } else 
            System.out.println("Wrong character");
        }
    }
}

在线程" main"中存在异常问题。 java.lang.NumberFormatException:对于输入字符串:(键盘中除X和数字外的所有字符)。

最有趣的(对我来说)部分是行为计划,如果包含:

,则不包含其他内容
else if (Integer.parseInt(text) == 1), when program runnig well.

在检查变量文本是否包含parseInt之后,似乎是else的问题。 你能帮我解决这个问题吗?我觉得这种情况在我脑海里有一个很大的漏洞。 最诚挚的问候!

0 个答案:

没有答案