I've got the program working fine, other the fact that the user can still enter strings/chars that will break the program, causing an error.
I want to write a statement so that when the user inputs anything other than an integer between 0-100 an error message will be displayed (basically my string saying they can't do that) or preferably they wont be able to enter anything besides an integer at all (if possible).
Here is my code:
int[] cw_Mark = new int[6];
for (int i = 0; i < cw_Mark.length; i++) {
if (i >= 0 || i <= 100) {
System.out.println("Please Enter Your Module " + (i+1) + " Coursework Mark: ");
cw_Mark[i] = input.nextInt();
} else {
System.out.println("Please Enter a Number Between 1 and 100");
}
}
解决方案
try this
int[] cw_Mark = new int[6];
for (int i = 0; i < cw_Mark.length; i++) {
System.out.println("Please Enter Your Module " + (i + 1) + " Coursework Mark: ");
while (true) {
String next = input.next();
try {
cw_Mark[i] = Integer.parseInt(next);
if (i >= 0 || i <= 100) {
break;
}
} catch (NumberFormatException e) {
}
System.out.println("Please Enter a Number Between 1 and 100");
}
}