Wenn man sich main()
Methode Liste von Argumenten sehen Sie String[] args
- Befehlszeilenargumente werden als Argumente an die main()
-Methode übergeben. Sie können sie mit einer for-Schleife einfach lesen:
String[] yourNewArray = new String[args.length]:
for(int i = 0; i< args.length; i++) {
yourNewArray[i] = args[i];
}
Jetzt in yourNewArray
Sie Befehlszeilenargumente gespeichert haben.
Es ist erwähnenswert, dass yourNewArray
kein Array mit Strings
sein muss. Argumente, die als Befehlszeilenargumente übergeben werden, können analysiert und beispielsweise als Ganzzahlen, Doppelwerte und andere Arten von Werten verwendet werden.
Nun, wie Sie Ihre Frage bearbeitet und neue Sache haben, um herauszufinden, werde ich Ihnen ein Beispiel zeigen, wie Sie eine neue Methode zu einem vorhandenen Array zuweisen und eine andere Methode zum Ändern einzelner Wert in diesem Array:
import java.util.*;
// This is your class - there is String[] arr - you want to be able to change whole array or its single value:
class MyClass {
String[] arr;
// To change whole array:
public void setMethod(String[] array) {
this.arr = array;
}
// To change only one value in array:
public void changeSingleValue(int index, String value) {
arr[index] = value;
}
}
public class Test {
public static void main(String[] args) {
String[] arrayFromArgs = new String[args.length];
for(int i = 0; i < args.length; i++) {
arrayFromArgs[i] = args[i];
}
MyClass obj = new MyClass();
// In this method you assign array storing command line arguments to the array in MyClass:
obj.setMethod(arrayFromArgs);
System.out.println("obj.arr: " + Arrays.toString(obj.arr));
// Here is an example of assigning another array to obj.arr:
String[] anotherArray = { "A", "B", "C", "D"};
obj.setMethod(anotherArray);
System.out.println("obj.arr: " + Arrays.toString(obj.arr));
// Here is another way to assign new values to obj.arr:
obj.setMethod(new String[]{"x", "y", "z"});
System.out.println("obj.arr: " + Arrays.toString(obj.arr));
// Simple example how to change single value in obj.arr by passing the index where and value that needs to be changed:
obj.changeSingleValue(1, "Changed");
System.out.println("obj.arr: " + Arrays.toString(obj.arr));
}
}
Und die Ausgabe des obigen Programms:
obj.arr: [] // in this array you will see values passed as the command line arguments
obj.arr: [A, B, C, D]
obj.arr: [x, y, z]
obj.arr: [x, Changed, z]
[Hier ist ein Beispiel google-Suche nach diesem] (https://www.google.com/search?safe=off&rlz=1C1GGRV_enUS750US750&ei=xbMhWsm3OuvAjwS18q6gBw&q = site% 3Astackoverflow.com + java + benutze + befehl + zeile + argumente & oq = site% 3Astackoverflow. com + java + Verwenden + Befehl + Zeile + Argumente & gs_l = psy-ab.3 ... 1424.4831.0.5079.23.23.0.0.0.0.224.1673.18j2j1.21.0 .... 0 ... 1c.1.64.psy-ab ..4.2.158 ... 0i8i7i30k1.0.oMIGBBiY8NQ) – csmckelvey
Erstellen Sie eine 'main'-Methode. Die ** JVM ** erstellt und füllt automatisch das Array 'args' (siehe' main' Methode). Sie können dies als einfaches reguläres Array vom Typ 'String []' übergeben. – Zabuza
Ich sehe, es gibt auch einige Probleme in Ihrem Beispiel. 1) Sie sollten "Zahl zurückgeben" in Ihrer Methode getNumber(). 2) Wenn Sie in Ihrer Methode getValue() einen Wert zurückgeben wollen, müssen Sie "Rückgabewert" schreiben. 3) In Ihrer setMethod() müssen Sie ihren Körper zu "number [i] = value;" –