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

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

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

После этого не выполнять оператор matrix [i] [0] = input.nextLine ();

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

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

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

Просто добавьте свойство display : inline к обоим элементам, как это

Б б

С с

Спасибо!!!

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

    }

   }
  }
0
user10469802 8 Окт 2018 в 04:11

2 ответа

Лучший ответ

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

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

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

1
Parivesh Chamoli 8 Окт 2018 в 02:40

Я думаю, это должно сработать для вас. Нет необходимости во вложенном цикле 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();
        }
    }
0
Amit Phaltankar 8 Окт 2018 в 02:22