Java 用户使用方法输入的数组填充

Java 用户使用方法输入的数组填充,java,arrays,methods,pass-by-reference,Java,Arrays,Methods,Pass By Reference,我的项目需要你的帮助。我正在编写一个程序,向学生显示用户以前填写的信息。这是关于我学习了多少方法。我已经用out方法写了一个程序。但当我用我遇到的pass-by-reference方法写同样的东西时。。。我正在填充0。索引,但当我填充1时。索引,0。索引变为空。我尝试了一切,但我不能解决这个问题,我想这是我的回报。。。这是代码,你可以帮助我基本上的方式,因为你可以看到我的Java语言水平是初学者:) 我的选择 case 1: { System.out.println("** Reco

我的项目需要你的帮助。我正在编写一个程序,向学生显示用户以前填写的信息。这是关于我学习了多少方法。我已经用out方法写了一个程序。但当我用我遇到的pass-by-reference方法写同样的东西时。。。我正在填充0。索引,但当我填充1时。索引,0。索引变为空。我尝试了一切,但我不能解决这个问题,我想这是我的回报。。。这是代码,你可以帮助我基本上的方式,因为你可以看到我的Java语言水平是初学者:)

我的选择

 case 1:  {
    System.out.println("** Recording a new student");
    System.out.println("*** Please use lower case");
    in.nextLine(); // for solve skipping 

    System.out.print("Enter Student Name and Surname: ");
    String namex = in.nextLine();
    name=record(namex,accountNumber);


    System.out.print("Enter Student Gender(m/f): ");
    String genderx = in.nextLine();
    gender=record(genderx,accountNumber);

    System.out.print("Enter Student Number: ");
    String studentNox = in.nextLine();
    studentNo=record(studentNox,accountNumber);


    System.out.print("Enter Student GPA: "); // i dont use method here for testing
    gpa[accountNumber] = in.nextDouble();


    accountNumber++;


    System.out.println("New Student Recorded. There are ["+accountNumber+"] students in system.");
    System.out.println("");
  }break;

问题是,每次在数组中放入内容时,都会初始化该数组:

String[] stringArray = new String[100];

double[] doubleArray = new double[100];
您必须确保这些数组的初始化在应用程序中只发生一次,可能是在声明这些静态数组时。知道这一点后,您的
记录
方法应该如下所示(基于您的代码):


另外,作为基础知识,Java从不通过引用传递,它只通过值传递。这里的更多信息:

返回字符串数组的
void
方法在几个方面看起来很奇怪。您是对的,它是按值传递的。我的错。。。因此,我用这些更改了我的代码,我的主代码中有一个名为array的stringArray,但我的编译给stringArray带来了一个错误“…无法解析为变量”我需要这些数组的更多定义吗?@GökhanNas根据您问题中的实际代码,我无法为您的新问题提供解决方案。
String[] stringArray = new String[100];

double[] doubleArray = new double[100];
public static void record(String x, int y)
    stringArray[y] = x;
}

public static void record(double x, int y) {
    doubleArray[y] = x;
}