私は、ユーザがフルカラー出力(大文字と小文字を区別しない)または色の最初の文字(大文字と小文字を区別しない)のどちらかをタイプすることによって2色の間で色を選択できるようにするプログラムに苦労しています彼らは自動的に他の変数に他のものを割り当てます。私の2つのオプションは青と緑で、青はうまく動作しているようですが、緑またはgを入力すると、メソッドは新しい入力を要求し続けます。ここでは、色の割り当てを扱う私のプログラムの切り札です。複数のオプション文字列の色入力の検証ですか?
import java.util.*;
public class Test{
public static Scanner in = new Scanner (System.in);
public static void main(String []args){
System.out.println("Chose and enter one of the following colors (green or blue): ");
String color = in.next();
boolean b = false;
while(!b){
if(matchesChoice(color, "blue")){
String circle = "blue";
String walk = "green";
b = true;
}
else if(matchesChoice(color, "green")){
String circle = "green";
String walk = "blue";
b = true;
}
}
}
public static boolean matchesChoice(String color, String choice){
String a= color;
String c = choice;
boolean b =false;
while(!a.equalsIgnoreCase(c.substring(0,1)) && !a.equalsIgnoreCase(c)){
System.out.println("Invalid. Please pick green or blue: ");
a = in.next();
}
b = true;
return b;
}
}
私は基本的にユーザーが色の選択及びユーザによる文字入力が質問の文字列オプションと一致するかどうかを決定するための方法のいずれかを選択保証whileループを作成しています。
:
そして、メインでwhileループの内部にユーザー入力のためのスキャンを追加します。
color
マッチchoice
があればちょうどmatchesChoiceは
true
またはfalse
を返してきましたあなたが青またはbを入力するまで、else if(matchesChoice(color、 "green")) 'が到達不能になる – Jerry06@ Jerry06緑に達するために青またはbの入力が必要であることを意味しますか? –