2013-04-14 130 views
0

这是我必须做的:Java错误 - 不会编译

编写需要Integer对象的一个​​ArrayList并返回 相同大小的字对象的ArrayList的方法。 Arryalist的返回的 元素被分配一个字母等级,对应于ArrayList 参数的相同索引元素的整数等级,其值为 。 (如果90岁或以上,......,如果小于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被赋予的是,一个 ”;”预计,但是当我加入它时,我会得到相同的确切错误。任何帮助?

+3

您正在尝试一个方法声明* *里面你'主()'方法。这是......不合法(除了没有任何意义)。 –

回答

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 
}