【发布时间】:2023-03-16 11:10:01
【问题描述】:
我能否以及如何从 Java 中的另一个方法调用 main 方法?请使用以下代码进行说明:
public class arraysAndMethods {
public void printArray(double[] arr) {
int x = public arraysAndMethods.main(int[] studGrades);
// pass array in main mehthod to other methods
//int a=main(args[]);
for (int i = 0; i < studGrades.lenght; i++)
System.out.print(studGrades[i] + " ");
}// end of printArray method
public static void main(String args[]){
java.util.Scanner input = new java.util.Scanner(System.in); // input scanner
System.out.println("What is the size of the class?");
int n = input.nextInt();
double studGrades[] = new double[n];
for (int i = 0; i < studGrades.length;i++) {
System.out.println("What is the grade of student #" + (i+1));
studGrades[i] = input.nextDouble();
} // end of for loop
}// end of main method
}//end of class
编辑后:
除了传入的参数外,我已经弄清楚了。我是否使用 main 的返回值?既然main的返回值是一个数组,那么main调用的参数是否应该有括号?这些括号之间应该有一个值吗?
public class arraysAndMethods {
public void printArray(double[] arr) {
int x = arraysAndMethods.main(double[i] arr);//error with paremeters
for (int i = 0; i < studGrades.lenght; i++)
System.out.print(studGrades[i] + " ");
}// end of printArray method
public static double[] main(String args[]){// double array
java.util.Scanner input = new java.util.Scanner(System.in); // input scanner
System.out.println("What is the size of the class?");
int n = input.nextInt();
double[] arr = new double[n];// declare and initialize array to have n many elements
for (int i = 0; i < arr.length;i++) {// input grades for each students
System.out.println("What is the grade of student #" + (i+1));
arr[i] = input.nextDouble();
} // end of for loop
return arr;
}// end of main method
}// end of class
【问题讨论】:
-
这只是另一种方法:
arraysAndMethods.main(new String[] { "foo", "bar" })... -
你为什么要这样做?
-
把这个扔出去;除非您正在执行一些奇怪的引导或加载/管理操作,否则您应该永远直接调用
main方法。