0
現在、Javaでプログラミングを学習しています。文字列contains()は、文字列内の特定の文字列が存在するかどうかを確認するために使用されます。しかし、指定されたコードでは、文字列が存在していてもcontains()はfalseを返します。文字列が存在しても、JavaのString contains()はfalseを返します。
import java.util.*;
class StringPractice1{
public static void main(String arg[]){
System.out.println("Enter a string:- ");
Scanner sc1 = new Scanner(System.in);
String s1 = sc1.next();
System.out.println("Enter the string you want to find:- ");
Scanner sc2 = new Scanner(System.in);
String s2 = sc2.next();
if(s1.contains(s2)){
System.out.println("It contains the string '"+s2+"'.");
}
else{
System.out.println("No such string exists.");
}
}}
'Scanner'の' next() 'は、行全体ではなくただ1つの単語を返します。また、すべての入力に対して新しい 'Scanner 'を使用しないでください。その行動はあなたが期待するものではないかもしれません。 – ajb
私は、スキャナの入力からラインセパレータで何かが起こっていると思います。 –
'else'ブロックの後に次の行を追加すると、何が起こるのかがわかります:' System.out.printf( "s1:" + s1 + "; s2:" + s2 + ";"); ' – alfasin