从方法中包含的数组中打印特定元素

时间:2017-05-23 21:35:17

标签: java arrays

尝试从方法中的数组中调用一个元素。但是,当我调用并显示元素时,我得到一个编译错误。我不知道如何正确打印个人级别。

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.

3 个答案:

答案 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]);