在 if 语句中检查字符串的值

时间:2021-06-28 05:52:32

标签: java string if-statement input

如您所知,实数区间是一组实数,其中包含位于该集合中任意两个数之间的所有实数。 我正在编写一个程序来计算两个区间的交集和并集。 区间可以是 (-∞,n) 也可以是 (n1,n2)。为简化起见,用户只需键入“-”而不是“-∞”。在我的程序的一部分中,我放置了一个 if 语句来声明间隔是以数字还是“-”开头。 这是我的代码:

import java.util.Scanner;

public class myProgram {

    public static void main(String[] args) {
        Scanner s1 = new Scanner(System.in);
        System.out.println("Please type in your first interval:");
        String i1 = s1.next();
        String i1s = i1.substring(1, i1.indexOf(','));
        if(i1s != "-") {
            int e = Integer.parseInt(i1s);
            System.out.println("e = " + e);
        } else if (i1s == "-") {
            System.out.println("i1s = " + i1s);
        }
    }

}

我的输入是:(-,8) 我看到这个错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "-"
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
    at java.base/java.lang.Integer.parseInt(Integer.java:642)
    at java.base/java.lang.Integer.parseInt(Integer.java:770)
    at myProgram.main(myProgram.java:11)

似乎 if 语句不能正常工作...但为什么呢?

0 个答案:

没有答案
相关问题