我有一个名为gradeTable的2D数组。此数组包含属于a,q,p,e和f类别的等级。我正在尝试创建一个接受新等级(即a100,q90,e65)的方法,并将其添加到适当的行。等级以字符串形式显示,其类别遵循数字等级。我知道每次添加新成绩时我都需要创建一个新阵列,但我不知道如何让每个成绩都适合它。该方法是一个布尔值,如果添加了等级则返回true,如果未找到类别(字符串开头的字母),则返回false。任何意见,将不胜感激。
public boolean addGrade(String newGradeIn) {
char row = newGradeIn.charAt(0);
int grade = Integer.parseInt(newGradeIn.substring(1));
gradeTable[row] = Arrays.copyOf(gradeTable[row], gradeTable[row].length + 1);
}
到目前为止,这就是我所拥有的一切。我知道它没有编译,因为我没有return语句。
答案 0 :(得分:2)
String input = /*get user input*/
char cat = input.charAt(0);
int grade = Integer.parseInt(input.substring(1));
int[] oldArr = gradeTable[cat];
int[] newArr = Arrays.copyOf(oldArr, oldArr.length + 1);
newArr[newArr.length - 1] = grade;
gradeTable[cat] = newArr;