java - 从一种方法在另一种方法中打印数组

标签 java arrays methods

我创建了一个字符串数组和一个二维 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/

相关文章:

java - 使用 JNI 从 Java 调用 C++ 程序时出错。获取 SEGV_ACCERR

java - 将 RGB 颜色值转换为十六进制字符串

javascript - 无法从平面列表中删除项目

javascript - 在不使用 () 包装的情况下调用 native Javascript 类型的方法

java - 意外的 AST 节点 : like in spring data jpa

java arraylist HashMap如何排序?

javascript - 查找嵌套数组的总和

c - 编写采用非空 double 组及其长度作为参数并返回 : 的函数

c# - 如何在 C# 中自动命名实例?

java - 在Java中,如何创建一个在每个实例中方法都不同的类?