Java数组2D不使用参数

Java数组2D不使用参数,java,arrays,eclipse,parameters,2d,Java,Arrays,Eclipse,Parameters,2d,我是这个社区的新手,需要Java中的Array 2d帮助 这是学校的一个项目 这是我的问题 我使用静态长度和工作方式构建数组2D,但使用参数的相同代码不工作 首先打印System.out.print(“插入名称”) 之后不执行语句矩阵[i][0]=input.nextLine() 第三个打印系统。输出。打印(“插入姓氏”) 现在可以工作,但索引[0],[0]为空 打印示例: a b b 丙 谢谢 import java.util.*; public class Students { publ

我是这个社区的新手,需要Java中的Array 2d帮助 这是学校的一个项目 这是我的问题

我使用静态长度和工作方式构建数组2D,但使用参数的相同代码不工作

首先打印System.out.print(“插入名称”)

之后不执行语句矩阵[i][0]=input.nextLine()

第三个打印系统。输出。打印(“插入姓氏”)

现在可以工作,但索引[0],[0]为空

打印示例:

a

b b

谢谢

import java.util.*;

public class Students {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner input = new Scanner(System.in);

    System.out.println("Insert number of Students");

    int numStudents = input.nextInt();

    String[][] matrix = new String[numStudents][2];

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

        System.out.print("Insert Name");

        matrix[i][0] = input.nextLine();                                                                            

        for (int j = 1; j < 2; j++) {

            System.out.print("Insert Last Name");

            matrix[i][j] = input.nextLine();

        }
    }

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

        System.out.println();

        for(int h=0; h<2;h++) {

            System.out.printf(matrix[z][h]);
            System.out.printf(" ");
        }

    }

   }
  }
import java.util.*;
公立班学生{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(System.in);
System.out.println(“插入学生人数”);
int numStudents=input.nextInt();
字符串[][]矩阵=新字符串[numStudents][2];
对于(int i=0;i对于(intz=0;z我认为这应该适合你。
读取姓氏不需要嵌套for循环

   public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);

        System.out.println("Insert number of Students");

        int numStudents = input.nextInt();
        input.nextLine();
        String[][] matrix = new String[numStudents][2];

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

            System.out.println("Insert Name");
            matrix[i][0] = input.nextLine();
            System.out.println("Insert Last Name");
            matrix[i][1] = input.nextLine();
        }

        for (int z = 0; z < numStudents; z++) {
            System.out.println();
            for (int h = 0; h < 2; h++) {
                System.out.print(matrix[z][h]);
                System.out.print(" ");
            }
            System.out.println();
        }
    }
publicstaticvoidmain(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(System.in);
System.out.println(“插入学生人数”);
int numStudents=input.nextInt();
input.nextLine();
字符串[][]矩阵=新字符串[numStudents][2];
对于(int i=0;i
使用String value=input.next();而不是input.nextLine(); 或 在input.nextLine()之后使用额外的input.nextLine(); i、 e

发生这种情况是因为input.nextLine()只读取一个整数,而没有完成该行。

input.nextLine()之后添加一个
input.nextLine()的副本
int numStudents = input.nextInt();
input.nextLine()