-1
私はあなたが複数の整数を入力してそれらの整数の特定の整数を検索させるコードを持っている問題に遭遇しています。 私が持っている問題は、入力が整数で、次に単語です。 (例:4 Java) それ以外のコードは意図したとおりに動作していますが、特定の答えがintであれば、正しい入力として読み込まれます。受け入れ可能な入力を作成する問題
public static void main(String[] args) {
Random rng = new Random();
boolean Finished = true;
boolean Försök = true;
int Mitt = rng.nextInt(100)+1;
int Head;
while (Finished == true){
System.out.println(Mitt);
String S = JOptionPane.showInputDialog("Var god gissa vilket heltal jag valt! \n Du kan skriva in max 5 heltal varje gissning!");
// allows you to enter 5 integers
if (S == null|| (S != null && ("".equals(S)))){
System.exit(0);
}
Scanner Svar = new Scanner(S);
if (Svar.hasNextInt() == false || Pattern.matches("[a-öA-Ö ]+", S)) {
JOptionPane.showMessageDialog(null, "Error, var god skriv in ett heltal");
Mitt = rng.nextInt(100)+1;
}
else {
ArrayList<Integer> mylist = new ArrayList<>();
while (Svar.hasNextInt() && Finished == true){
Head = Svar.nextInt();
mylist.add(Head);
if (mylist.size()>5){
JOptionPane.showMessageDialog(null, "Tyvärr skrev du in mer än 5 heltal! \n Var god mata in igen!");
Försök = false;
break;
}
System.out.println(mylist);
if (Head>100 || Head<0){
JOptionPane.showMessageDialog(null, "Tyvärr skrev du in ett heltal som var över 100 eller mindre än 0! \n Var god mata in igen!");
Försök = false;
break;
}
if (mylist.contains(Mitt)){
JOptionPane.showMessageDialog(null, "ayo du svarade rätt med " + Mitt);
System.exit(0);
}
else if (Försök == true){
JOptionPane.showMessageDialog(null, "Tyvärr svarade du fel! du kan försöka igen! rätt svar är " + Mitt);
}
}
}
}
}
}
「4 Java」と入力するとどうなりますか?エラーを出して終了することは私には合理的に思えるでしょう。 – Aaron