Ich bin beauftragt, eine Hauptmethode zu schaffen, die zwei Methoden aufrufen. Die erste Methode gibt String-Array, während die zweite Methode, um die Anordnung von Zeichenketten führt und das Element auszudrucken in separaten Zeilen. die wichtigste Methode geht dann das Ergebnis der ersten Methode auf die zweite und dann halt aufruft. Ich tue es die Frage richtig zu verstehen? Wenn ich kompilieren und ausführen ich erhalte
sunshine
road
73
11
public class Hihihi
{
public static void main(String args[])
{
method1();
method2();//Will print the strings in the array that
//was returned from the method1()
System.exit(0);
}
public static String[] method1()
{
String[] xs = new String[] {"sunshine","road","73","11"};
String[] test = new String[4];
test[0]=xs[0];
test[1]=xs[1];
test[2]=xs[2];
test[3]=xs[3];
return test;
}
public static void method2()
{
String[] test = method1();
for(String str : test)
System.out.println(str);
}
}
Zuerst korrigieren Sie Ihre method2
Es muss fähig sein, eine Reihe von zu übernehmen String
Elementen als Parameter:
public static void method2(String[] test)
{
// this line is not needed -> String[] test = method1();
for(String str : test)
System.out.println(str);
}
Auf diese Weise kommt man tatsächlich die Daten an die Methode, wie Ihre Anforderungen beschrieben. Ein Bonus ist: Es ist wiederverwendbar für andere String
Anordnungen als auch.
Sie method1
hat eine Menge redundanten Code bekommt. Filter genau das aus
public static String[] method1()
{
return new String[] {"sunshine","road","73","11"};
}
und jetzt, Ihre main
Methode, nur um sie zu verknüpfen. Veränderung
public static void main(String args[])
{
method1();
method2(); // this will now cause a compilation error, because it expects a parameter
System.exit(0);
}
zu:
public static void main(String args[])
{
method2(method1());
System.exit(0);
}
Die Art und Weise Ihren Code ursprünglich gebaut wurde, method1
wurde zweimal genannt, zuerst in der main
Methode, die völlig überflüssig war, da das Ergebnis nicht, zum zweiten Mal in die verwendet wurde method2
, wo sie nicht genannt werden sollten, da die Daten übergeben werden sollen als Parameter.