如何在Java中返回void方法?

时间:2018-05-05 04:24:20

标签: java methods return

我真的很难找到如何进行课堂作业。我应该使用这个陈述:

public static void getExamData(char responses[])

为了获得20个已回答问题的考试数据。但是,我很困惑,因为你无法在void方法中返回值?我如何将这些数据恢复为主数据?

这是代码

import java.util.Scanner;
public class Hwk11 {
public static void main(String args[])
{

    final int PASSING_SCORE = 15;
    char[] answerKey = 
    { 
        'B', 'D', 'A', 'A', 'C', 'A', 'B', 'A', 'C',
        'D', 'B', 'C', 'D', 'A', 'D', 'C', 'C', 'B',
        'D', 'A' };     
    }
    //more code here that uses the responses[] array to do more things like display info
}

public static void getExamData(char responses[])
{
    for(int index = 0; index < 20; index++)
    {
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter " + index + ": ");
        responses[index] = keyboard.next().charAt(0);
    }

}

1 个答案:

答案 0 :(得分:3)

当您将数组引用传递给public static void getExamData(char responses[])时,将保存对该数组所做的任何修改。

因此,在执行函数后,您将在数组中得到响应。

请注意,当您声明char[] response = new char[]时,变量response实际上并不存储数组内容,但会存储对数组的引用。

修改时,例如response[0]您正在修改数组内容,但数组引用(response变量)不会更改。

因此,在执行该函数后,您可以使用response变量来访问修改后的数组内容。

相关问题