Java: How to return int-array aus der Liste der Eingänge?
Nachdem ich durch eine Menge von basic tutorials, beschloss ich, es mal zu versuchen, indem Sie ein paar einfache Anwendungen meiner eigenen, mir zu helfen zu verstehen, OOP und daran erinnern, was ich bisher gelernt.
Mein Versuch zu machen, eine app mit einer main-Klasse, und 2-Objekt-Klassen.
Habe ich Main.java die nur Anrufe Performer.java und Calculations.java.
Für jetzt arbeite ich auf meine Performer.java Objekt.
Möchte ich die Performer.java um 5 ganze zahlen vom Benutzer ein, und dann möchte ich in der Lage sein, es zurückzugeben, wie ein array, und führen Sie es durch meine Calculations.java die würde führen Sie einige einfache Aufgaben, wie das zählen von durchschnitten und Summen.
Habe ich meine Methode an die öffentlichkeit, und wenn ich das richtig verstanden habe sollte mir gestatten, den Zugriff auf diese Variablen von einer beliebigen anderen Stelle in meinem app.
Habe ich versucht es wieder als
return arrayList[] = {u1,u2,u3,u4,u5};
und dies gab mir eine Fehlermeldung "Enum-header erwartet statt"
import java.util.Scanner;
public class Performer {
public static int getUnit(){
Scanner scan = new Scanner(System.in);
System.out.println("Enter the first number: ");
int u1 = scan.nextInt();
System.out.println("Enter the first number: ");
int u2 = scan.nextInt();
System.out.println("Enter the first number: ");
int u3 = scan.nextInt();
System.out.println("Enter the first number: ");
int u4 = scan.nextInt();
System.out.println("Enter the first number: ");
int u5 = scan.nextInt();
return u1, u2, u3, u4, u5; <--------Confusing Part
}
}
Mein zweiter Versuch war, um Sie wieder als separate Variablen, aber das sagt mir erwarteten Typ ist int. Ich dachte, das es ist, da diese Variablen scan.nextInt().
Was kann ich tun, um ein array zurückgeben, dass ich passieren kann, meine anderen Objekte?
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie
List
oder array.Versuchen, diese -
List<Integer>
im Grunde bedeutet, dass Sie haben eine Liste, die speichert zahlen.List<Integer> list = getUnit();
ändern Sie den Rückgabewert von getUnit() int[] und kehren Sie die Werte wie folgt:
wenn Sie zurückkehren möchten, in einer Liste, können Sie den Rückgabewert auf
List<Integer>
und wieder die Werte wie folgt:Beachten Sie, dass Arrays.asList liefert eine unveränderliche Liste, so dass Sie können nicht hinzufügen oder entfernen von Werten aus es.
Als Sie neu zu Programmieren, zunächst lassen Sie mich klar einige Fehler in deinem code.
Diese Zeile hier:
wo Sie verwendet die return-Anweisung die return darf nur ein Wert übergeben werden, in einer Zeit, so dass Sie nicht passieren können, alle u1,u2,u3,u4 an der gleichen Zeit.
Die Lösung zu diesem zur Verfügung gestellt wurde oben von den anderen-Programmierer: Sie können entweder ändern Sie den Rückgabetyp der getUnit () - Methode ein integer-array und gibt die Referenz des Arrays, oder Sie können ändern Sie den Rückgabetyp der getUnit () - Methode einen integer-Liste und die Rückgabe der Referenz auf die Liste.
Da Sie neu zu codieren und Sie weiß nicht, über die ArrayList, hier ist ein link dazu:
Java ArrayList-Klasse
Gut, mit zu beginnen, ist der Rückgabetyp der Funktion ist
int
. Sie benötigen, um zu seinint[]
zumindest um zu zeigen, dass Sie zurückkehren möchten, ein array von ganzen zahlen, die nicht eine einzige ganze Zahl.Dann müssen Sie, um herauszufinden, die array-literal-syntax in Java.
Dann sollte man prüfen, ob die Java collections-Klassen könnte eine bessere Passform für das, was Sie zu tun versuchen. Schauen Sie sich einige der Beispiele, wie Sie die Konstruktion eines
ArrayList
.ersetzen Sie Ihre verwirrende Teil:
Funktion und Unterschrift:
Versuchen, diese
`public static int[] getUnit() {
Dies ist, was Sie wollen, denke ich.
können Sie dies auch tun: