do-while ループを使用するコードを使用しており、そのループに if else ステートメントを追加したいと考えていました。do-while ループは、ユーザーが入力したテキストを確認し、「exit」という単語が入力された場合に終了します。
public static void main(String[] args) {
String endProgram = "exit";
String userInput;
java.util.Scanner input = new java.util.Scanner(System.in);
do {
userInput = input.nextLine();
if ( !userInput.equalsIgnoreCase(endProgram) ) {
System.out.printf("You entered the following: %s", userInput);
} else
} while ( !userInput.equalsIgnoreCase(endProgram) );
}
このコードをコンパイルしようとすると、コマンド プロンプトから次のようなエラーが表示されます。
SentinelExample.java:20: error: illegal start of expression
} while ( !userInput.equalsIgnoreCase(endProgram) );
^
SentinelExample.java:22: error: while expected
}
^
SentinelExample.java:24: error: reached end of file while parsing
}
^
ループ内の if else ステートメントを削除すると、プログラムは正常にコンパイルされます。プログラムの構文に何か問題がありますか? または、while ループに if else ステートメントを入れることはできませんか?