我真的很难找到如何进行课堂作业。我应该使用这个陈述:
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);
}
}
答案 0 :(得分:3)
当您将数组引用传递给public static void getExamData(char responses[])
时,将保存对该数组所做的任何修改。
因此,在执行函数后,您将在数组中得到响应。
请注意,当您声明char[] response = new char[]
时,变量response
实际上并不存储数组内容,但会存储对数组的引用。
修改时,例如response[0]
您正在修改数组内容,但数组引用(response
变量)不会更改。
因此,在执行该函数后,您可以使用response
变量来访问修改后的数组内容。