So rufen Sie ein Arraylist-Methode?
Habe ich eine Methode:
public static ArrayList<Integer>Iterate(int n){
ArrayList<Integer> numbers = new ArrayList<Integer>(n);{
Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
for(int i = 0; i<n; ++i){
Integer r = rand.nextInt() %113;
numbers.add(r);
Collections.sort(numbers);
}}
Und ich will andere Methoden verwenden, die auf dieses Array, um herauszufinden, bestimmte Dinge über die zahlen.
Aber ich kann nicht herausfinden, zu nennen, der Arraylist in public static void main(String [] args)
.
Habe ich Sachen versucht wie:
System.out.println( numbers.methodname);
Und Dinge wie das, aber Eclipse sagt, dass zahlen Sie nicht gelöst werden kann, um eine variable
Also, was ist die richtige Art und Weise zu nennen, die ArrayList, so kann eine Methode Wirkung es?
- Erklären
numbers
außerhalb der MethodeIterate
. So wie es jetzt ist, nur die MethodeIterate
hat Zugriff auf diese variable. - Bitte, bitte, bitte bitte Lesen Sie hier eine einfache Anleitung, um OOP oder Java...
- Ihre Methode ist deklariert als Rückgabe eine ArrayList<Integer>, also vermutlich auch Sie, es zurückzugeben, richtig? Und Sie nennen es aus Haupt -, rechts? Was tun Sie zuweisen Ihren Rückgabewert in der main?
- Auch, warum Sie die Liste Sortieren, jedes mal, wenn Sie fügen Sie eine Nummer, um es?
- Es scheint nicht, dass Sie jemals zurückkehren, ein
ArrayList<Integer>
in Ihrer Methode. Gerade zurücknumbers
in Ihrer Methode und inmain
etwas wieArrayList<Integer> list = Iterate(someValue)
. Dann können Sie Methoden aufrufen, die auflist
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie wahrscheinlich wollen, um Ihre Methode zurückzukehren, die
ArrayList
dass es schafft, so dass es verwendet werden kann, durch was auch immer Methode aufgerufen, Ihre Methode. Sie haben bereits die richtige Methode-Signatur - das ist die erste Zeile, wo es heißtwas bedeutet, dass die Methode etwas zurückgeben des Typs
ArrayList<Integer>
. Nun müssen Sie diese Zeile hinzufügen, um der Unterseite der Methode, vor der letzten}
.Nun, in Ihrem
main
Methode, oder was auch immer andere Methode fordert diese ein, können Sie so etwas schreibenoder etwas ähnliches, je nachdem, welche Zahl Sie wollen an die Methode übergeben. Dieser deklariert eine variable namens
returnedList
, ruft die Methode auf, und weist dieArrayList
das ist der von der Methode zurückgegeben, die variable, die Sie deklarieren.Da Sie erklärte, die zahlen-variable in der Iterate-Methode, es existiert nicht außerhalb des Geltungsbereichs der Methode. Dies bedeutet, dass, während Sie in Haupt -, Sie kann nicht auf diese Variablen zugreifen. Wenn Sie Zugriff auf eine variable in main, es deklariert werden muss in der main.
numbers
deklariert werden muss, die außerhalb Ihrer Methode, weitere Methoden werden in der Lage, darauf zuzugreifen. Wenn Sie deklarieren Sie eine variable innerhalb einer Methode, deren Anwendungsbereich die Methode ist, die es in deklariert wurde.Können Sie noch initialisieren Sie die variable innerhalb der Methode, wenn Sie so wählen, aber die Erklärung hat zu erfolgen außerhalb, wie diese:
static ArrayList<Integer> numbers = null;
-------------------------------- gute Antwort: Nachdem Sie fertig sind mit dieser Zuordnung oder was auch immer es ist, ich schlage vor, Sie Lesen oder beobachten tutorials zu den grundlegenden OOP. Nehmen Sie es von jemandem, der ' s stürzte durch Einsätze, bevor auch Sie wird nicht machen es sehr weit, wenn Sie nicht wirklich verstehen, was Sie sind-Codierung.