2016-10-11 102 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(); 
      }