以下是我必须做的事情:
编写一个采用Integer对象的ArrayList并返回的方法 一个相同大小的Character对象的ArrayList。归来了 Arryalist的元素被指定为相应的字母等级 ArrayList的相同索引元素的整数等级 参数。 (A如果90或以上,......,F,如果小于60)。包括 代码来测试你的方法。
这就是我所拥有的:
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给出的建议是“;”是预期的,但是当我添加它时,我得到了同样的错误。有什么帮助吗?
答案 0 :(得分: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
}