我们已经预先安排了有关2Dimensional数组的任务。问题是这样的。该程序将接受名称和分数。将数据存储在二维数组中。然后显示学生列表及其分数,以获得最高分数。
自从我们的老师教了我们阵列的基本知识以来,我对这个2D阵列并没有太多的了解,我已经做了很多研究,但是仍然无法获得我需要的确切代码。
以下是我未完成的代码。到目前为止,我的问题是我无法打印所有名称和分数。它仅打印最后输入的数据。
任何帮助都可以做。
int[] studlist;
String name="";
String fscore="";
int i, score;
Scanner myScanner = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("How many students?:");
int students = myScanner.nextInt();
studlist = new int[students];
for( i = 0; i < studlist.length; i++){
try{
System.out.println("Enter Name:");
name = br.readLine();
}
catch(IOException e)
{
System.out.println("Error enter name!");
}
try{
System.out.println("Enter Score:");
fscore = br.readLine();
}
catch(IOException f)
{
System.out.println("Error enter grade!");
}
}
System.out.println("Display list of Students and Score:");
System.out.println(name+" "+fscore);
}
}
最佳答案
创建像这样的二维数组String[][] arr2d = new String[students][2];
。
在循环中,您可以使用arr2d[i][0] = name;
和arr2d[i][1] = fscore;
要检查最高分数,请遍历数组并比较分数字段(arr2d[i][1]
)。