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

标签 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);
        }
    }
}

最佳答案

获取整数输入后,使用 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

关于java - 字符串数组无法在索引[0]上分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31018745/

相关文章:

java - 如何在java swing中的两点之间绘制椭圆或椭球体

java - Android:在多个 Activity 上传递字符串数组

php - 多值插入复选框只有最后一个值正在进入数据库

java - 计算字符串中两个字符之间的总字符数 - JAVA

c - 更优化的解决方案,查找字符串中子字符串的数量。使用C

c - 使用指针和字符串——一个字符如何变成一个整数?

java - Log4j2 json 配置不写入文件

java - 识别由于夏令时而重复的日期/时间

java - 任何覆盖更多汉字的 JTextField 后代或替代者?

java - 一次获取文件的一部分作为 byte[]