2016-10-11 107 views
-1

我似乎無法驗證它,所以它只接受這兩個值,每次我輸入它一直告訴我的值「不是有效的數字再試一次」 我需要做什麼,能夠選擇一個特定的號碼,或一個替代解決方案。無法驗證輸入

double number = user.nextDouble(); 
    while (number != 1 || number != 2.50) 
    { 
     System.out.println("Not a valid number\n Try Again"); 
     number = user.nextDouble(); 
    } 
+7

'而(數字!= 1 &&號!= 2.50)'.. – Reimeus

+0

比較雙打使用!=或==不是個好主意 – rkosegi

回答

0

這是你在找什麼:

double number = user.nextDouble(); 
    while (number != 1 && number != 2.50) 
    { 
     System.out.println("Not a valid number\n Try Again"); 
     number = user.nextDouble(); 
    } 
1

這將永遠是正確的,因爲號碼不能在1和2.5

double number = user.nextDouble(); 
    while (number != 1 || number != 2.50) 
    { 
     System.out.println("Not a valid number\n Try Again"); 
     number = user.nextDouble(); 
    } 

如果數字是1然後

1!= 1 || 1!= 2.50 =>

false || true =?

真正 同樣爲所有數字

使用&&而不是||

  double number = user.nextDouble(); 
      while (number != 1 && number != 2.50) 
      { 
       System.out.println("Not a valid number\n Try Again"); 
       number = user.nextDouble(); 
      }