Я писал программу, которая требует ввода числа от 1 до 4. Чтобы предотвратить ввод чисел за пределами диапазона. Однако переменная продолжает переходить к другому фрагменту кода и приводит к сбою программы. Это цикл do while:
do
{
System.out.println("Please enter a quarter number 1-4: ");
quarter = scanIn.nextInt();
}while((quarter > 5 ) && (quarter < 0));
Это фрагмент кода, который запускает переменную:
for (int n = ((quarter * 3)-3); n < (quarter*3); n++)
{
String sum = fmt.format(monthSales[n]);
System.out.printf("Sales for month %d: %s\n", n+1, sum);
}
Это ошибка, которая возвращается при неправильном вводе:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -6
at lab4.Lab4.main(Lab4.java:57)
Я попытался ограничить область действия «четверти» только внутри цикла, но тогда предложение while не работает. Как я могу предотвратить передачу переменной до закрытия цикла? p.s. Эта проблема является частью задания, поэтому я должен использовать цикл do while.
quarterNum
иquarter
? - person David Conrad   schedule 11.02.2015