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;
}

次に、メイン内で呼び出します。

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 に答える