Java 无法在索引[0]上分配字符串数组

Java 无法在索引[0]上分配字符串数组,java,arrays,string,Java,Arrays,String,为什么我不能使用循环的为名称[0]赋值?下面是我的代码。我的代码只接受用户输入的名称数减去1。例如,用户希望输入4个名称“我的代码”只接受3个名称,并将它们分配给名称[1]、名称[2]、名称[3] import java.util.Scanner; public class Application { public static void main(String[] args) { Scanner input=new Scanner(System.in);

为什么我不能使用循环的
名称[0]
赋值?下面是我的代码。我的代码只接受用户输入的名称数减去1。例如,用户希望输入4个名称“我的代码”只接受3个名称,并将它们分配给
名称[1]、名称[2]、名称[3]

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

        Scanner input=new Scanner(System.in);
        System.out.println("How many Students?");
        int noOfStudents=input.nextInt();
        String[] name= new String[noOfStudents];
        System.out.println("Enter student names:");

        for(int x=0; x!=name.length;x++){
            name[x]=input.nextLine();
        }
        System.out.println("Names are:");
        for(String names: name){
            System.out.println(names);
        }
    }
}

获取整数输入后,使用
input.nextLine()清除“\n”(新行)字符


我已经排好了。没用/忘记添加输入。nextline();正如你所建议的。现在开始工作了。非常感谢你!:)@恩海·佩雷斯:当一个答案适合你的问题时,请把它标记为解决方案,别忘了投赞成票!完成。感谢您提醒@statefi.:)
int noOfStudents=input.nextInt();
String[] name= new String[noOfStudents];
System.out.println("Enter student names:");
// Add this
input.nextLine() // Clear away the new line character following your integer input