Похоже, что мои основные переменные n и m Невозможно изменить с помощью измерений метода. Консоль говорит, что существует проблема при методе , создайте в этой строке a [i] [j] = unos.nextInt(); но если я меняю эту строку private int [] [] a = new int [n] [m]; и введите любое число, подобное [3] [4], программа работает, но с [n] [m] это не так, может помочь мне, ребята, что с этим кодом. КОНСОЛЬ: а [1] [1] = Исключение в потоке "основного" java.lang.ArrayIndexOutOfBoundsException: 0 Заранее спасибо ..двухмерный массив, методы и переменные
import java.util.Scanner;
public class Matrica {
private int n, m;
private Scanner unos = new Scanner(System.in);
public void dimensions() {
System.out.print("n: ");
n = unos.nextInt();
System.out.print("m: ");
m = unos.nextInt();
}
private int[][] a = new int[n][m]; // if i put [2][2] or any other number, instead [n][n], program works
public void create() {
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++) {
System.out.print("a[" + (i + 1) + "][" + (j + 1) + "]=");
a[i][j] = unos.nextInt(); // console points that this is the problem
}
}
public void print() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.printf("%d\t", a[i][j]);
}
System.out.println();
}
}
}
@Thrasher Почему вы отредактировали его, чтобы добавить все ненужные пространства? Это не типичный стиль Java и выглядит странно. – ajb
@Thrasher Я не рекомендую делать это в будущем. Ваш личный стиль - это ваш бизнес, но есть некоторые довольно хорошо зарекомендовавшие себя стандарты для интервала Java (не все из которых мне нравятся, но я живу с ними), и я думаю, что лучше всего работать в этом на сайте с множеством читателей , – ajb