2016-05-11 6 views
0

2つのincludeステートメントを1つの式に結合しようとしていますか?文字列はJava join 2には1つの式が含まれていません

String input = "this"; 
if(!((input.contains("J"))|| (input.contains("i"))) { 
System.out.prinltn("your input must contain either a 'J' or an 'i'"); 

}else{ 
System.out.prinltn("your input does contain a 'J' or an 'i'"); 
} 

入力は=この

出力は=あなたの入力は、「J」または「i」は

が含まれていないことに「J」または「I」の文字のいずれかを含める必要がありますあなたの入力に「J」または「i」が含まれています

答えて

1

ただ削除してください!それは固定する必要があります

0

'!' if in stringは、文字列に 'J'または 'i'が含まれる場合、falseを返します。それであなたは期待される出力を得られないのです。だから、 '!'から。以下のコードを試してください。

String input = "this"; 
if(((input.contains("J"))|| (input.contains("i"))) { 
System.out.prinltn("your input does not contain a 'J' or an 'i'"); 

else{ 
System.out.prinltn("your input does contain a 'J' or an 'i'"); 
} 
+0

おかげクマールが、正の条件のためのあなたの提案のチェックは、私が「刺す」は含まれていない場合は、負の状態、すなわちかどうかを確認する必要がありますj 'または文字列に' i 'が含まれていません – OneXer

2

私は正規表現を使用することをお勧め、それだけで一つの式であり、あなたのルールが変更された(代わりに/ elseの節た場合に成長している)場合は、後に一つの場所にそれを変更することができます

String input = "this"; 
System.out.println(input.matches(".*[ij].*")); 
+0

ありがとうございますmishadoff、あなたの提案はうまくいきます! – OneXer

2

あなたのコードですチェックする

String input = "this"; 
    if (!((input.contains("J")) || (input.contains("i")))) { 
     System.out.println("your input does not contain a 'J' or an 'i'"); 
    } else { 
     System.out.println("your input does contain a 'J' or an 'i'"); 
    } 

高速道::OK、それだけでいくつかの括弧を欠けているhttp://www.tutorialspoint.com/compile_java_online.php

OR、次の場合を逆にして、コードをより読みやすくすることができます。

String input = "this"; 
    if (input.contains("J") || input.contains("i")) { 
     System.out.println("your input does contain a 'J' or an 'i'"); 
    } else { 
     System.out.println("your input does not contain a 'J' or an 'i'"); 
    } 
+0

ありがとうございましたtimeFly、欠けている括弧は問題なくOKです。ありがとうございました – OneXer

関連する問題