无法理解如何在java中将用户输入的名称添加到数组中

无法理解如何在java中将用户输入的名称添加到数组中,java,arrays,Java,Arrays,//询问用户希望输入多少学生和分数 公共作废设置(){ 扫描仪键盘=新扫描仪(System.in); System.out.print(“输入学生人数:”); numStudents=keyboard.nextInt(); } public void setName(字符串someName){ 对于(int i=0;i

//询问用户希望输入多少学生和分数

公共作废设置(){
扫描仪键盘=新扫描仪(System.in);
System.out.print(“输入学生人数:”);
numStudents=keyboard.nextInt();
}
public void setName(字符串someName){
对于(int i=0;i

我只希望能够在用户输入名称时添加名称,但在它们正确格式化之后。我只知道如何在用户输入时立即将它们添加到字符串中

我认为您的问题是需要在循环之外声明
名称列表

public void setup() {
    Scanner keyboard = new Scanner(System.in);

    System.out.print("Enter number of students: ");

    numStudents = keyboard.nextInt();
}

public void setName(String someName) {

    String[] nameList = new String[numStudents]; //out here

    for(int i = 0; i < numStudents; i++) {

        System.out.print("Enter name of student # " + (i+1) + ": ");

        Scanner keyboard = new Scanner(System.in);

        String nameRough = keyboard.nextLine();
        String name = nameRough.trim();

      // i have to ask the user to enter the name int he for Last, first and         then rearrange it so this is what thats doing

        String firstName = name.substring(name.indexOf(",")+1);
        String lastName = name.substring(0, name.indexOf(","));

        name = firstName + " " + lastName;

    //  name = nameList; 

        System.out.println("");

    // and then here is where i can't figure out how to add name to the           army at i 

        nameList[i] = name;

    }
}
公共作废设置(){
扫描仪键盘=新扫描仪(System.in);
System.out.print(“输入学生人数:”);
numStudents=keyboard.nextInt();
}
public void setName(字符串someName){
String[]nameList=新字符串[numStudents];//在这里
对于(int i=0;i
否则,您将在循环的每次迭代中创建一个新列表。您希望在每次迭代中创建一个新的名称,然后将其添加到此列表中,该列表在迭代过程中保持不变


你也有一些语法问题,像
nameList
vs
nameList
一样,当您第一次使用它时,不声明
name

您所说的
是什么意思,但在它们正确格式化之后
?您能显示您的输出/运行到目前为止的结果吗?这将有助于其他人帮助您。您可能需要研究
拆分(“,”)的方法
用于您的名称,但每次我都想提示用户在Grades.main(Grades.java:29)的Student.setName(Student.java:51)的线程“main”java.lang.NullPointerException中输入nameException,但仍然不起作用,我尝试了很多不同的方法。那一次,它把我带到了调试窗口Thoonjour!输入学生人数:3在Grades.main(Grades.java:29)处的student.setName(student.java:47)处的线程“main”java.lang.NullPointerException中输入学生姓名#1:doe,john Exception