-1

几乎不好意思问这个,但我似乎找不到问题......

我得到了这样的声明:

if (name_region.matches("")){
   System.out.println("He shows this");
}

if (region.contains(name_region.substring(0, 2))||(firstLine == true)||(name_region.matches(""))){
   System.out.println("he doesn't show this");
}

他通过了第一个,但没有通过第二个。
虽然我认为它也应该通过第二个,因为它是一个 OR 语句,对吗?

我在这里做错了什么?

4

1 回答 1

4

我相信name_region.substring(0, 2)正在抛出 Exception 。尝试重新排列 中的表达式if()

if (name_region.matches("")||
    region.contains(name_region.substring(0, 2))||
    firstLine){
   System.out.println("he doesn't show this");
}

||是短路OR运算符,因此如果第一个表达式是true,则不会计算其他表达式。

于 2013-07-02T07:16:47.347 回答