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;
}
mon problème est que lorsque j'entre une lettre et un numéro séronégatifs, ou un nombre qui est supérieur à 27, je reçois toujours une erreur d'exception, comment puis-je résoudre ce problème?Aide avec les entrées en utilisant le scanner
Je ne pense pas que la première partie puisse être vraie: 'c.length' sera toujours supérieur ou égal à 0; par conséquent, la première partie de cette instruction 'if' signifie essentiellement' if (cChoice <0 && cChoice> = 0) '- ce sera toujours' false'. Je pense que ce dont il a probablement besoin est 'if (nChoice <0 || nChoice> = c.length || c [nChoice] == nul)' –
@Aleks G: Bonne prise! Éditera la réponse. Merci. – NPE
quelles sont les autres erreurs? ou des torts? –