Итак, в этом коде я создал код для чтения 6 значений и вывода наибольшего из 6 чисел. Это сработало хорошо, но теперь, если одно из чисел отрицательно, я хочу, чтобы цикл остановился и завершил печать Invalid Loop. Но в моем коде программа печатает наивысшую оценку после печати Invalid Input. Как мне избежать этого?
Это на платформе IntelliJ Java v5.0
import java.util.Scanner;
class Highestmark {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a[] = new int[6];
for (int i = 0; i < a.length; i++) {
a[i] = sc.nextInt(); // To exit loop
if (a[i] < 0) {
System.out.println("Invalid Mark");
break;
}
}
int max = a[0];
for (int i = 0; i < a.length; i++) { // To find highest
if (max < a[i]) {
max = a[i];
}
System.out.println("Highest Mark is" + max);
}
}
}
Я ожидаю, что вывод будет
25
-26
Invalid Input
Но фактический вывод
25
26
27
-28
Invalid Input
Highest Mark is 27