「if」ステートメントをトリガーするのに苦労しています。CharSequence が検索するはずの "I like my 'anything'" を入力すると、コードは else ステートメントからエラーを追い出します。CharSequence を使用して 1 文字だけを識別しようとすることで、contains メソッドが空白を読み取っていないかどうかを確認しようとしました。それは役に立ちませんでした。また、contains メソッドをブール値に変更し、ブール値が true の場合は if ステートメントを実行しようとしました。それもうまくいきませんでした。私は他のコードを少し検索しましたが、似ているようです。Eclipse は、私が始めたばかりのエラーにフラグを立てていません。コードをクリーンアップする方法や、より適切に機能する可能性のあるメソッドに関する追加のヒントがある場合。建設的な批判をお願いします。
import java.util.Scanner;
public class hello {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
try {
System.out.println("Hi, what is your name?");
String name1 = scan.next();
System.out.println("Hello "+ name1 + ". Tell me what you like about yourself?\n"
+ "Please pretext what you like about yourself with the phrase 'I like my'.");
String selfEsteem = scan.next();
CharSequence searchString = "I Like my";
if (selfEsteem.contains(searchString)) {
selfEsteem = selfEsteem.replace("my", "your");
System.out.println(selfEsteem + "also.");
} else {
System.err.println("Error: User did not use 'I like my' input format");
}
} finally {
scan.close();
}
}
}
出力:
こんにちは、あなたの名前はなんですか?ジャネット こんにちはジャネット。自分の好きなところを教えてください。「I like my」というフレーズを使って、自分の好きなところを口実にしてください。I like my boobs エラー: ユーザーは「I like my」入力形式を使用しませんでした