満足していないにもかかわらず、私のループしたエラーメッセージをプリントアウトしここに私のコードのスニップです:はなぜループ内で設定された条件が
while (true){
System.out.println("---Welcome to the Shape Machine---");
System.out.println("Available options:");
System.out.println("Circles");
System.out.println("Rectangles");
System.out.println("Triangles");
System.out.println("Exit");
//asks for selection
String option = console.next();
while (!option.equals("Cirlces") && !option.equals("Rectangles") && !option.equals("Triangles") && !option.equals("Exit")){
System.out.println("#ERROR Invalid option. Please try again.");
break;
}
switch (option) {
case "Circles": {
私はセットアップメニューを持っており、ユーザーがイマイチ何を入力するとオプションの1つは、エラーメッセージを表示して、ユーザーをメニューに戻します。これは意図したとおりに動作しますが、正しい入力を入力すると、エラーメッセージが表示されますが、switch文はエラーがないかのように実行され、必要な計算が行われます。私はif else文の中で真のループを使用しようとしましたが、私はまだ同じ問題を抱えていました。また、!()。equalsメソッドの代わりに!=を使用して、AND演算子の代わりにOR演算子を使用してみました。私はそれを修正するために何をすべきか分かりません。どんな助けも非常に高く評価されるでしょう。
あなたの 'while'は、無条件の' break'のために 'if'です。そして、もちろん、「スイッチ」は常に実行されます、それはあなたがするように言ったものです。私はあなたが 'break'の代わりに' continue outerLoop'を望んだと思います。 –
ようこそスタックオーバーフロー、[MCVE](http://stackoverflow.com/help/mcve)を投稿することを検討してください。 – Athamas