尝试从方法中的数组中调用一个元素。但是,当我调用并显示元素时,我得到一个编译错误。我不知道如何正确打印个人级别。
sortMarks是一个arrayList,已经初始化了。
代码应该显示用户在特定级别输入的标记数。这都是在GUI中完成的。
这是我的代码:
---
layout: default
Rest of front matter...
---
{% include_relative original.md %}
这是我的错误开始的地方,我不知道如何正确打印出来。
private int[] arrayToLevel() {
//Creating array for the different levels
int levels[] = {0, 0, 0, 0, 0};
//Finding how many marks at a certain level using the levels array
int grade;
for(int i=0; i<sortMarks.size(); i++) {
grade = sortMarks.get(i);
if (grade < 50) {
levels[0] = levels[0]+1;
}
else if(grade >= 50 && grade < 60){
levels[1] = levels[1]+1;
}
else if (grade >= 60 && grade < 70){
levels[2] = levels[2]+1;
}
else if (grade >= 70 && grade < 80){
levels[3] = levels[3]+1;
}
else if (grade >= 80){
levels[4] = levels[4]+1;
}
}
return levels;
}
编辑:
只是让每个人都知道以后参考我的编译错误
analyseMarks.append("\nStudents at Level R: " + arrayToLevel.get[0].toString());
analyseMarks.append("\nStudents at Level 1: " + arrayToLevel.get[1].toString());
//and so on for the rest of the levels.
答案 0 :(得分:2)
如果没有编译错误,这一点并不完全清楚,但我认为问题在于.get
上尝试使用int[]
。
更改为:
analyzeMarks.append(... + Integer.toString(arrayToLevel()[0]));
应该解决编译错误。
答案 1 :(得分:1)
使用方法结果的正确方法是:
arrayToLevel()[0]
而不是:
arrayToLevel.get[0].toString()
您甚至不需要使用toString()
,因为它将与字符串连接
也代替:
analyseMarks.append("\nStudents at Level R: " + arrayToLevel());
附加到StringBuilder的练习方法是:
analyseMarks.append("\nStudents at Level R: ");
analyseMarks.append(arrayToLevel()[0]);
或者:
analyseMarks.append("\nStudents at Level R: ").append(arrayToLevel()[0]);
答案 2 :(得分:0)
您只需要调用一次该方法。在print语句中使用对返回值的引用。
int[] levels = arrayToLevel();
analyseMarks.append("\nStudents at Level R: " + levels[0]);
analyseMarks.append("\nStudents at Level 1: " + levels[1]);