2016-10-25 42 views
-2

如何檢查變量是否等於或包含?我想這樣做,如果有人在哪裏投入一個無效的運營商,它會說再試一次。java中遇到問題包含

String operator = "+, -, *,/, %"; 
double num1, num2, sum=0;  
System.out.println("First number: "); 
num1 = input.nextDouble(); 
System.out.println("Second number: "); 
num2 = input.nextDouble(); 
if (operator.contains("+")){ 
    sum = num1 + num2; 
} else if (operator != operator.contains("+,-,*,/,%"){ 

System.out.println(「Error」); }

+0

我認爲他的意思是'運營商'?仍然沒有很多sence – n247s

+0

@MaxZoom像有沒有辦法來檢查我的包含==是否是我的操作員? – Cmi

+0

@Cmi請編輯您的問題,以便更清楚詳細地瞭解您要完成的任務。在您顯示的代碼中,「if」語句將始終執行,因爲'operator'始終爲「+, - ,*,/,%」; – Brian

回答

1

如果你想檢查應根據用戶輸入使用什麼操作,您可以使用switch聲明如下

String operator = ""; 
while (operator.isEmpty()) { 
    System.out.println("Enter Operator: "); 
    operator = input.next(); 
    switch (operator) { 
    case "+" : result = num1 + num2; break; 
    case "-" : result = num1 - num2; break; 
    case "*" : result = num1 * num2; break; 
    case "/" : result = num1/num2; break; 
    default : System.out.println("Invalid operator: " + operator); 
       operator = ""; 
    } 
    System.out.println("Result is " + result); 
} 

DEMO

如果你只是想檢查,如果操作者是有效的,你可以使用Listcontains()方法:

String[] operators = { "+", "-", "*", "/" , "%" }; 
List<String> ops = Arrays.asList(operators); 
: 
System.out.println("Enter Operator: "); 
String operator = input.next(); 
if (ops.contains(operator)) { 
    // do some calculation here 
} 
+0

Thanks @MaxZoom對不起,如果我的問題沒有多大意義 – Cmi

+0

不要擔心。溫馨提醒:如果適用,請接受答案。 – MaxZoom