2016-10-25 7 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( "エラー"); }

+0

私は彼が '演算子'を意味すると思いますか?まだ多くの心配を作っていない – n247s

+0

@MaxZoomように私の含まれているかどうかを確認する方法は==私の演算子ですか? – Cmi

+0

@Cmiあなたの質問は、あなたが達成しようとしていることをより明確かつ詳細にしてください。あなたが表示しているコードでは、 "演算子"は常に "+、 - 、*、/、%"なので、 "if"文は常に実行されます。 – Brian

答えて

1

あなたはユーザーエントリに基づいて使用すべきかをオペレータ確認したい場合はあなただけのオペレータかどうかを確認したい場合は、

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

以下のようにswitchステートメントを使用することができます有効であれば、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

ありがとう@MaxZoom申し訳ありませんが私の質問があまり意味がない場合 – Cmi

+0

それについて心配しないでください。ご注意ください:該当する場合は、回答を受け入れてください。 – MaxZoom

関連する問題