几乎不好意思问这个,但我似乎无法找到问题...
我收到了这个声明:
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语句对吗?
我在这里做错了什么?
答案 0 :(得分:4)
我相信name_region.substring(0, 2)
正在抛出异常。尝试重新排列if()
:
if (name_region.matches("")||
region.contains(name_region.substring(0, 2))||
firstLine){
System.out.println("he doesn't show this");
}
||
是短路OR
运算符,因此如果第一个表达式为true
,则其他表达式将不会被评估。