2013-04-14 147 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 
}