У меня есть задание, где мой проф. введет неопределенное число целых чисел в мою программу, и моя программа обработает данные соответственно , чтобы присвоить оценку каждому значению и найти самое высокое и самое низкое значение , однако он всегда помещает -1
в конец данных, так что когда input<0
перестанет запрашивать ввод.
Проблема в том, что моя программа не должна обрабатывать -1
. Он не добавляется в качестве оценки, но входит в список оценок, поэтому самое низкое значение всегда -1
.
Я пытался написать код, который удалял бы -1
из моего массива при обнаружении как часть логики для оценки оценки, но все, что я пробовал, только возвращает ошибки.
Как я могу игнорировать -1
и найти следующее наименьшее значение или удалить -1
из списка перед оценкой?
import java.util.*;
public class Hw5{
public static void main(String[] args){
Scanner console = new Scanner(System.in);
int input = console.nextInt();
ArrayList<Integer> GradeList = new ArrayList<>();
while(input >= 0){
input = console.nextInt();
GradeList.add(input);
}
evaluateGrade(GradeList);
System.out.print(GradeList);
}
public static void evaluateGrade(List<Integer> Scores){
int count = Scores.size();
int high = Collections.max(Scores);
int low = Collections.min(Scores);
int Aplus = 0;
int A = 0;
int Amin = 0;
int Bplus = 0;
int B = 0;
int Bmin = 0;
int Cplus = 0;
int C = 0;
int Cmin = 0;
int Dplus = 0;
int D = 0;
int Dmin = 0;
int F = 0;
for(int i : Scores){
if(i > 97){
Aplus += 1;
}
else if(i >= 93 && i <= 96){
A += 1;
}
else if(i >= 89 && i <= 92){
Amin += 1;
}
else if(i >= 85 && i <= 88){
Bplus += 1;
}
else if(i >= 81 && i <= 84){
B += 1;
}
else if(i >= 77 && i <= 80){
Bmin += 1;
}
else if(i >= 81 && i <= 84){
B += 1;
}
else if(i >= 77 && i <= 80){
Bmin += 1;
}
else if(i >= 76 && i <= 73){
Cplus += 1;
}
else if(i >= 69 && i <= 72){
C += 1;
}
else if(i >= 65 && i <= 68){
Cmin += 1;
}
else if(i >= 61 && i <= 64){
Dplus += 1;
}
else if(i >= 57 && i <= 60){
D += 1;
}
else if(i >= 53 && i <= 56){
Dmin += 1;
}
else if(i >= 52 && i <= 0){
F += 1;
}
}
System.out.printf("Total number of grades = %d", count);
System.out.println();
System.out.printf("Number of A+'s = %d", Aplus);
System.out.println();
System.out.printf("Number of A's = %d", A);
System.out.println();
System.out.printf("Number of A-'s = %d", Amin);
System.out.println();
System.out.printf("Number of B+'s = %d", Bplus);
System.out.println();
System.out.printf("Number of B's = %d", B);
System.out.println();
System.out.printf("Number of B-'s = %d", Bmin);
System.out.println();
System.out.printf("Number of C+'s = %d", Cplus);
System.out.println();
System.out.printf("Number of C's = %d", C);
System.out.println();
System.out.printf("Number of C-'s = %d", Cmin);
System.out.println();
System.out.printf("Number of D+'s = %d", Dplus);
System.out.println();
System.out.printf("Number of D's = %d", D);
System.out.println();
System.out.printf("Number of D+'s = %d", Dmin);
System.out.println();
System.out.printf("Number of F's = %d", F);
System.out.println();
System.out.printf("The highest grade = %d", high);
System.out.println();
System.out.printf("The lowest grade = %d", low);
System.out.println();
}