public int Remove(int i, Briefcase c[], String[] m) {
int nChoice = 0;
boolean inputisok = false;
while (inputisok == false) {
System.out.print("\tPlease remove " + i + " cases: ");
nChoice = input.nextInt();
if (c[nChoice] == null || nChoice < 0 && nChoice >= c.length) {
System.out.println();
System.out.println("\tInvalid Input please Try again\n");
} else {
System.out.println("\tI'm " + m[nChoice]
+ " You just removed case # " + nChoice);
System.out.println("\t|" + nChoice + "| contains $"
+ c[nChoice].getAmount() + "\n");
inputisok = true;
}
}
return nChoice;
}
ここで私の手紙には、文字と負の数、または27より高い数字を入力すると例外エラーが発生します。どうすれば修正できますか?スキャナを使用した入力に関するヘルプ
最初の部分が本当に評価されるとは思いません。 'c.length'は常に0以上になります。したがって、この 'if'文の最初の部分は本質的に' if(cChoice <0 && cChoice> = 0) 'を意味します - これは常に' false'です。私は彼がおそらく必要と思うのは 'if(nChoice <0 || nChoice> = c.length || c [nChoice] == null)' –
@Aleks G:いいキャッチ!答えを編集します。ありがとう。 – NPE
他のエラーは何ですか?または間違っている? –