Java if和|| 问题

Ava*_*cay 0 java if-statement boolean jgrasp

我正在做这个小程序,但不幸的是我遇到了这个问题..

  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);
  }
Run Code Online (Sandbox Code Playgroud)

我的程序无法识别我是否在我的String中输入任何整数.

但是,如果我删除了我的|| 最后一部分,if语句识别第一个整数.

我在这里错过了什么?

Bob*_*der 7

if (ccnString.charAt(0) != '4' || ccnString.charAt(0) != '3')
Run Code Online (Sandbox Code Playgroud)

永远true.

每个角色都是!= '4'!= '3'

我想你想要的&&.

细节:

A || B如果A为真或B为真(或两者都为真),则该陈述为真.

在你的例子中,假设第一个字符是'4'.

A = ccnString.charAt(0) != '4'是假(4!= 4是假的)

B = ccnString.charAt(0) != '3'为真(3!= 4为真)

A || B是真的,因为B是真的.