ユーザーが入力した各文字列を文字列配列に割り当てようとしています。全体がfor
ループ内にあり、配列のインデックスによって評価されます。私のコードは次のとおりです。
String skillAssign[] = new String[100];
for (int i=0; isDone == false; i++)
{
System.out.println(skillAssign[i]);
System.out.println(i);
skillAssign[i] = keyboard.nextLine();
if ((!(skillAssign[i].equalsIgnoreCase("stats"))) && (!(skillAssign[i].equalsIgnoreCase("done"))))
{
assignmentValue = keyboard.nextInt();
if (((skillAssign[i].equalsIgnoreCase("health"))) && (skillPoints - assignmentValue >=0))
{
System.out.println("Added " + assignmentValue + " points to Health!");
skillPoints = (skillPoints - assignmentValue);
newMaxHealth = (assignmentValue + newMaxHealth);
}
//code that evaluates the string located inside the skillAssign[i] for other stats
}
最初の文字列は正しく評価されますが、2 番目の文字列を入力しようとすると、java.util.InputMisMatchException が発生します。ユーザーが入力した配列の各インデックスに文字列を割り当てて評価するようにするにはどうすればよいですか? (評価部分は頂いたと思いますが)
投稿を関連するコードに限定しようとしたため、isDone などは省略されていますが、 isDone が入力されたときに true に変更され、スキルポイントを除く他のすべての変数が 0 に設定されてdone
キーボードが構築されます。Scanner keyboard = new Scanner