ArrayList-Warnung - warning: [unchecked] unchecked call to add(E), auch die Datei wird nicht ausgeführt

Ich habe versucht, diesen code an die Arbeit für was fühlt sich wie ein Alter, zu diesem Zeitpunkt. es soll compute prime numbers in einer Strecke, und ich habe geschrieben eine Methode, diese zu drucken. Leider wird der code nicht kompilieren, unter Berufung auf die Warnung:

"warning: [unchecked] unchecked call to add(E) als Mitglied des raw-type java.util.Liste"

--Ich verstehe von googeln, dass diese Warnung ist für nicht deklarieren, welche Arten von Werten werden sollte, in Ihren erray, aber ich habe dies getan, und der Fehler scheint nur zu kommen, wenn ich versuche, mit den .add () - Funktion auf meiner array-Liste.

und wenn ich versuche zu laufen, es gibt es etwas mehr beängstigend Fehler
"Statische Fehler: Undefined name 'PrimeNumbers'

Ich denke, dass ich gegangen bin-code-blind an diesem Punkt und trotz mehrere versuche nicht herausfinden was ich falsch mache.

import java.util.*;

public class PrimeNumbers { 

    private List listOfPrimeNumbers;  //add a member variable for the ArrayList
    public static void main(String args []){    
      PrimeNumbers primeNumberList = new PrimeNumbers(50);
      primeNumberList.print();  //use our new print method
    }

public PrimeNumbers (int initialCapacity) {
    listOfPrimeNumbers = new ArrayList<Integer>(initialCapacity/2);  //initialCapacity/2 is an easy (if not tight) upper bound
    long numberOfPrimes = 0; //Initialises variable numberOfPrimes to 0
    int start = 2;
    boolean[] isPrimeNumber = new boolean[initialCapacity + 1];

    for (int i=0;i==initialCapacity;i++) {//setting all values in array of booleans to true
    isPrimeNumber[i] = true;
    }
     while (start != initialCapacity)
        {
          if (isPrimeNumber[start])
          {
            listOfPrimeNumbers.add(start);
            //add to array list
            numberOfPrimes++;
            for (int i = start; start < initialCapacity; i+=start)
            {
              isPrimeNumber[i] = false;
            }
          }
          start++;
        }
    }

 public void print()  //add this printout function
 {
     int i = 1; 
     Iterator iterator = listOfPrimeNumbers.listIterator();
     while (iterator.hasNext())
     {
          System.out.println("the " + i + "th prime is: " + iterator.next());
          i++;
     }
     //or just System.out.println(listOfPrimeNumbers);, letting ArrayList's toString do the work.  i think it will be in [a,b,c,..,z] format
 }

 public List getPrimes() {return listOfPrimeNumbers;} //a simple getter isnt a bad idea either, even though we arent using it yet
}

InformationsquelleAutor der Frage user476033 | 2010-11-29

Schreibe einen Kommentar