我正在做这个小程序,但是不幸的是我遇到了这个问题。
if (ccnString.charAt(0) != '4' || ccnString.charAt(0) != '3') {
System.out.println("The String entered does not fit any of the Credit card standards");
System.exit(0);
}
我的程序无法识别我是否在String中放入任何整数。
但是,如果删除我的||最后一部分,if语句可识别第一个整数。
我在这里想念什么?
最佳答案
if (ccnString.charAt(0) != '4' || ccnString.charAt(0) != '3')
始终为
true
。每个字符都是
!= '4'
或!= '3'
我猜您想改为
&&
。细节:
如果A为true或B为true(或两者都为true),则语句
A || B
为true。在您的示例中,假设第一个字符为“ 4”。
A =
ccnString.charAt(0) != '4'
为假(4!= 4为假)B =
ccnString.charAt(0) != '3'
为true(3!= 4为true)所以
A || B
是真的,因为B是真的。