Java Array 2D не работает с параметрами - PullRequest
0 голосов
/ 08 октября 2018

Я новичок в сообществе, и мне нужна помощь с Array 2d на Java. Это школьный проект, это моя проблема

Я строю Array 2D со статической длиной и работаю, но тот же код с параметрами неwork.

Сначала выведите System.out.print («Вставить имя»);

, после этого не выполните матрицу операторов [i] [0] = input.nextLine ();

третья печать System.out.print («Вставить фамилию»);

теперь работает, но индекс [0], [0] пуст

Пример печати:

a

bb

cc

Спасибо !!!

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(" ");
        }

    }

   }
  }

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Использовать строковое значение = input.next ();вместо input.nextLine ();или используйте дополнительный input.nextLine ();после input.nextInt ();т.е.

int numStudents = input.nextInt();
input.nextLine()

Это происходит потому, что input.nextInt () просто читает одно целое число и не заканчивает строку.

0 голосов
/ 08 октября 2018

Я думаю, это должно сработать для вас.Нет необходимости во вложенном цикле для чтения фамилии.

   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();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...