Мой учитель хочет, чтобы я написал код, который спрашивает пользователей о количестве нужных им строк и столбцов, а затем использует этот ввод для создания двумерного массива. Но каждый раз, когда я пытаюсь поместить переменную в скобки строк и столбцов, я получаю эту ошибку для строки 17:

«Выражение должно быть типом массива, но оно разрешено в класс»

package Theatre;

import java.util.Scanner;

public class BoxOffice {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in); 

        System.out.print("How many rows do you want in your Theatre");
        int r = input.nextInt(); input.nextLine();
        System.out.print("How many Columns do you want in your Theatre");
        int c = input.nextInt(); input.nextLine();
        System.out.printf("You want %d rows and %d columns in your Theatre", r, c);
        int [] [] seat = int [r] [c];  // <-- line 17

Я ожидал, что в строке 17 будет создан двухмерный массив со строками, для которых пользователь хотел переменную r в скобках строк и столбцы в скобках столбцов, но я получаю ошибку.

1
Idara Abasi 17 Апр 2019 в 00:52

2 ответа

Лучший ответ

Вход сканера = новый сканер (System.in);

    System.out.print("How many rows do you want in your Theatre");
    int r = input.nextInt(); input.nextLine();
    System.out.print("How many Columns do you want in your Theatre");
    int c = input.nextInt(); input.nextLine();
    System.out.printf("You want %d rows and %d columns in your Theatre", r, c);


    int [] [] seat = new int [r] [c];

Вы забыли добавить новое ключевое слово в объявление массива.

0
Ramson 16 Апр 2019 в 22:19

Ключевое слово new - это то, что вам нужно использовать для создания нового экземпляра чего-либо, включая массив.

int [] [] seat = new int [r] [c];
0
Jason 16 Апр 2019 в 22:05