Array an Methode und return array
Hier ist die Frage, ich arbeite auf
Verwenden Sie eine for-Schleife zu erzeugen, die ein array von zehn zufällige Ganzzahlen, die alle im Bereich von 100 bis 200, inclusive. Verwenden Sie die array-Klasse um die beiden Sortieren und anzeigen der gesamte array. Nächste, übergeben Sie das array als einziges argument an eine Methode, verdoppelt sich jedes element des array und gibt anschließend das array. Verwenden Sie eine foreach-Schleife, um alle Elemente im zurückgegebenen array in einer Zeile, getrennt durch ein einzelnes Leerzeichen. Diese letztere loop sollte auch bestimmen die Summe aller Elemente im zurückgegebenen array. Anzeige der Summe mit einem "Tausender" - Komma, wie in der Beispielausgabe.
Und hier ist mein code:
package bryant7and8;
import java.util.Arrays;
public static void main(String[] args) {
int[] myList = new int[10];
for (int i = 0; i < myList.length; i++) {
myList[i] = 100 + (int) (Math.random() * ((110 - 10) + 1));
}
Arrays.sort(myList);
System.out.println(Arrays.toString(myList));
doubleArray (myList);
System.out.println(doubleArray(myList));
}
public static int[] doubleArray(int[] array) {
for (int i = 0; i < array.length; i++) {
array[i] *= 2;
}
return array;
}
}
Ich kann nicht herausfinden, wie das array übergeben, ich habe es für ein paar Stunden und meine Bücher, die Erklärung ist nicht zu helfen. Auch ich entschuldige mich für diese schreckliche Frage der Formatierung bin ich noch neu auf stackoverflow.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schreiben Sie eine Methode wie diese:
Nun angenommen Sie haben ein array mit dem Namen
myArray
und man kann Sie in der Methode wie diese:Und dann die Elemente in
myArray
verdoppelt werden. Sie können auch mit der return-Wert der Methode für andere Zwecke.Alternativ können Sie die Rückgabe auch eine andere Marke neues array:
Dann beim Aufruf der Methode übergebene argument wird nicht geändert werden. Aber der Rückgabewert ist eine doppelte array.
Da arrays per Referenz übergeben, wird das übergebene array wird verändert. Es gibt keine Notwendigkeit, zu ihm zurückzukehren.
Müssen Sie nur eine Methode, die ein array als argument, ändert das array, dann dasselbe array zurückgegeben.
EDIT: Wie schon von anderen Antworten, die Sie nicht müssen zurückzugeben, das array. Sie ändern das ursprüngliche array sowieso, so werden die änderungen beibehalten, außerhalb dieser Methode Anwendungsbereich.
Gerade erstellen Sie einfach eine statische Methode(wie Sie der Aufruf von statischen main () - Methode), übergeben Sie das array als argument zu. Machen Sie einige änderungen an.
In der main-Methode nennen es:
doubleTheArrayElements(myList)
Keine Notwendigkeit, um die Rückkehr der Arrays wie in Java Argumente per Referenz übergeben.
Solltest du besser glauben, dass java durch Wert übergeben. Für mehr details ,siehe Ist Java "pass-by-reference" oder "pass-by-value"?
Der gesamte code ist wie folgt und nur zu deiner information. Nach dem Aufruf public static int[] notByReference(int[] arr) Methode, myList nicht auf das neue Objekt. Statt der kopierten Variablen zugewiesen wurde eine neue Referenz auf das neue Objekt.