Цель моего кода для отображения количества студентов и их соответствующего класса следующим образом:Ввод целых чисел в массив Ошибка?
Student Grade
1 53
2 45
Так на ...
Я использовал массив 5x2, в котором пользователь может ввести значение для класса ...
Однако я столкнулся с проблемой при вводе оценок, по какой-то причине мне нужно ввести 3 значения, из всех 3 введенных значений рассматривается только 3-й.
Мои проблемы:
(1) Почему я даже в состоянии ввести 3 значения на одного студента (Должно быть только в состоянии ввода 1 значение для каждого студента).
(2) Почему это третье значение, которое рассматривается?
Вот мой код:
import java.util.*;
public class practice {
public static void main(String[] args) {
int[][] studentGrade = new int[5][2];
for(int i = 0; i<5; i++) {
studentGrade[i][0] = i+1;
}
for(int j = 0; j<5; j++) {
System.out.printf("Student %s: ", j+1);
Scanner input = new Scanner(System.in);
if(input.nextInt()>=0 && input.nextInt()<=100) {
studentGrade[j][1] = input.nextInt();
}
else {
studentGrade[j][1] = 0;
System.out.printf("Student %s's mark has been defaulted", j);
}
}
System.out.print("\nStudent \t Grade");
for(int s=0; s<5; s++) {
System.out.print("\n" + studentGrade[s][0] +"\t" + "\t " + studentGrade[s][1]);
}
}
}
Да, я так и думал, спасибо! – MasterWali
@RamanSB Также обратите внимание, что для «оценки ученика по умолчанию» 'printf' вы, вероятно, также хотите использовать' j + 1' вместо 'j'. Я заметил это и исправил его, но я хотел убедиться, что вы его видите, и в фактическом ответе не было достаточного внимания: D – Jashaszun