字符串数组不能在索引[0]上赋值

时间:2015-06-24 06:02:17

标签: java arrays string

为什么我无法使用name[0]for loop上分配值?以下是我的代码。而且我的代码只接受用户输入的名称数量减去1。例如,用户想要输入4个名称,我的代码只接受3个名称,并将它们分配给name[1],name[2],name[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);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

获取整数输入后,使用input.nextLine();

清除'\ n'(新行)字符
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