Сначала исправьте method2
Он должен быть в состоянии принять массив String
элементов в качестве параметра:
public static void method2(String[] test)
{
// this line is not needed -> String[] test = method1();
for(String str : test)
System.out.println(str);
}
Таким образом, вы фактически передаете данные методу, как описано в ваших требованиях. Бонус: его можно использовать и для других String
массивов.
Ваш method1
имеет много избыточного кода. Просто отфильтруйте это
public static String[] method1()
{
return new String[] {"sunshine","road","73","11"};
}
и теперь ваш main
метод, просто чтобы связать их. Изменение
public static void main(String args[])
{
method1();
method2(); // this will now cause a compilation error, because it expects a parameter
System.exit(0);
}
до:
public static void main(String args[])
{
method2(method1());
System.exit(0);
}
При первоначальном построении вашего кода method1
вызывался два раза, сначала в методе main
, который был полностью избыточным, поскольку результат не использовался, второй раз в method2
, где он не должен вызываться, поскольку данные должны передаваться как параметр.