0

这是我必须做的:

编写一个方法,该方法接受 Integer 对象的 ArrayList 并返回相同大小的 Character 对象的 ArrayList。Arryalist 的返回元素被分配一个字母等级,对应于 ArrayList 参数的相同索引元素的整数等级。(如果 90 或以上为 A,...,如果小于 60,则为 F)。包括代码以测试您的方法。

这是我所拥有的:

package returninggrade;

import java.util.ArrayList;

public class ReturningGrade {

    public static ArrayList main(String[] args) {
        ArrayList<Character> getEquivalen (ArrayList < Integer > mark) {
            ArrayList<Character> cArray = new ArrayList<Character>();      // create ArrayListr to return

            // loop throught Int arrayList
            for (int i = 0; i < mark.size(); i++) {
                // extract value
                int value = mark.get(i);
                // convert value to char
                if (value > 90) {
                    cArray.add(new Character('A'));
                } else if (value > 80) {
                    cArray.add(new Character('B'));
                } else if (value > 70) {
                    cArray.add(new Character('C'));
                } else if (value > 60) {
                    cArray.add(new Character('D'));
                } else {
                    cArray.add(new Character('E'));
                }
            }
            // return ArrayList of Char
            return cArray;
        }
    }
}

这是我遇到错误并且卡住的地方:

ArrayList<Character> getEquivalen(ArrayList<Integer> mark)

NetBeans 给出的建议是“;” 是预期的,但是当我添加它时,我得到了同样的错误。有什么帮助吗?

4

1 回答 1

2

您正在尝试在main(). 你不能那样做。您的签名main也不正确 -一定public static void main(String[] foo)。是foo一个变量名;通常它是args,但它可以是任何你喜欢的。

提取您的方法并在之前 main声明它:

ArrayList<Character> getEquivalen (ArrayList < Integer > mark) {
    ArrayList<Character> cArray = new ArrayList<Character>();      // create ArrayListr to return

    // loop throught Int arrayList
    for (int i = 0; i < mark.size(); i++) {
        // extract value
        int value = mark.get(i);
        // convert value to char
        if (value > 90) {
            cArray.add(new Character('A'));
        } else if (value > 80) {
            cArray.add(new Character('B'));
        } else if (value > 70) {
            cArray.add(new Character('C'));
        } else if (value > 60) {
            cArray.add(new Character('D'));
        } else {
            cArray.add(new Character('E'));
        }
    }
    // return ArrayList of Char
    return cArray;
}

然后,在 main 内部调用它:

public static void main(String[] args) {
    ReturningGrade rg = new ReturningGrade();
    rg.getEquivalen(new ArrayList<Integer>());  // you have to provide the ArrayList here
} 
于 2013-04-14T22:48:22.243 回答