我创建了一个字符串数组和一个二维 double 组,并用initializeData() 方法内的值填充了这两个数组。现在我尝试在 displayData() 方法内显示数组。
我设法使用嵌套的 for 循环在initializeData() 中显示数据。
for(int i = 0; i<students.length; i++) {
System.out.print(students[i] + " ");
for(int j = 0; j<grades.length; j++) {
System.out.print(grades[i][j] + " ");
}
System.out.println("");
}
如何在 displayData() 中使用上面的相同循环并在方法initializeData() 中显示数组?
public class Assignment2 {
public static void main(String[] args) {
initializeData();
displayData();
}
/**
* Method that initializes 5 students and grades for 5 courses and populates data.
*/
public static void initializeData() {
//create arry with student names
String[] students = {"James", "Luke", "Alex", "Jenny"};
//create 2d array and populate it
double grades[][] = {{98, 72, 85, 77, 90},{25,49,26,77,60},{13,8,46,52,28},{77,81,85,69,88}};
}
/**
* Method that takes the data from initializeData() and displays it to the screen.
*/
public static void displayData() {
}
最佳答案
您的数组的范围仅限于初始化方法,并且您有两个对象,因此您不能将它们都返回到主方法,因此您唯一的选择(除了从初始化方法调用显示方法之外)是使用类变量将变量范围移动到整个类
import java.util.Arrays;
public class Assignment2 {
static String[] students;
static double[][] grades;
public static void main(String[] args) {
initializeData();
displayData();
}
/**
* Method that initializes 5 students and grades for 5 courses and populates data.
*/
public static void initializeData() {
//create arry with student names
students = new String[] {"James", "Luke", "Alex", "Jenny"};
//create 2d array and populate it
grades = new double[][] {{98, 72, 85, 77, 90},{25,49,26,77,60},{13,8,46,52,28},{77,81,85,69,88}};
}
/**
* Method that takes the data from initializeData() and displays it to the screen.
*/
public static void displayData() {
System.out.println(Arrays.toString(students));
}
}
<小时/>
另一个选项包括这样的方法,但由您来了解自定义类
Student[] initializeData() {}
void displayData(Student[] students) {}
static void main (String[] args) {
Student[] students = initializeData();
displayData(students);
}
关于java - 从一种方法在另一种方法中打印数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847895/