ユーザーから文字列を取得し、それが回文であるかどうかをテストするプログラムを作成する必要があります。これはネストされたループで行う必要があります。答えを返すメソッドを作成できません。また、ユーザーが空の行に入るまで文字列入力を受け入れてテストし続ける必要があります。空の行に入ると、プログラムは「さようなら」を出力して終了します。私が問題を抱えているのは、2つの可能な入力ポイント(回文であるがそうではない)の後に入力を受け入れ、ループで新しい入力を使用して、毎回適切な行を出力するようにプログラムを取得することです。
出力は次のようになります。
文字列を入力してください:rotor
ローターは回文です。
文字列を入力してください:ミイラ
ミイラは回文ではありません。
文字列を入力してください:
空の行が読み取られました。さようなら。
これは私がこれまでに持っているものであり、各入力をテストして正しいステートメントを返しますが、入力が空の場合は何もしません。
System.out.print("Enter a string: ");
String input = in.next();
if (input.length() > 0) {
int x = 0;
int y = input.length()-1;
while (x < y) {
if (input.charAt(x) == input.charAt(y)) {
x++;
y--;
}
else {
System.out.println(input + " is NOT a palindrome.");
System.out.println("Enter a string: ");
input = in.next();
}
System.out.println(input + " is a palindrome.");
System.out.println("Enter a string: ");
input = in.next();
}
}
else {
System.out.print("Empty line read - Goodbye!");
}
何かご意見は?これは宿題ですが、私は手がかりや私が見る必要のあるものほど答えを探していません。