Я пытаюсь создать массив случайных размеров из 1 и 0. Я могу заставить программу запускать и компилировать, если я удалю случайный аспект ее и введите размер массива вручную. По какой-то причине, когда я ввожу случайную утилиту, я не могу заставить программу компилироваться.Случайный массив методов использования 1 и 0
mport java.util.Random;
public class Project1a {
int[][] sample={{0,0,1,1,1},
{1,1,0,1,1},
{1,1,1,0,1},
{0,1,0,1,1}};
int box[][];
Random randomNumbers = new Random();
int m = randomNumbers.nextInt(100);
int n = randomNumbers.nextInt(100);
int results[][] = new int [m][n];
int goodData = 1;
public static void main(String[] args){
analyzeTable();
printTable(results);
}
public void analyzeTable() {
int row=0;
while (row < sample.length) {
analyzeRow(row);
row++;
}
}
public void analyzeRow(int row) {
int xCol = 0;
int rCount = 0;
while (xCol < sample[row].length) {
rCount = analyzeCell(row,xCol);
results[row][xCol] = rCount;
xCol++;
}
}
int analyzeCell(int row, int col) {
int xCol = col;
int runCount = 0;
int rowLen = sample[row].length;
int hereData = sample[row][xCol];
while (hereData == goodData && xCol < rowLen) {
runCount++;
xCol++;
if (xCol < rowLen) { hereData = sample[row][xCol];}
}
return runCount;
}
public void printTable(int[][] aTable) {
for (int[] row : aTable) {
printRow(row);
System.out.println();
}
}
public void printRow(int[] aRow) {
for (int cell : aRow) {
System.out.printf("%d ", cell);
}
}
}
я переименовал класс и теперь я получаю следующие ошибки: не удается найти результаты символьных строк 22, 29,45 и то же самое для goodData линии 55 – user2850714
да bcoz эти переменные не являются доступный за пределами этого блока, см. мой ответ, предоставил подробную информацию – exexzian
Я исправил все это, и теперь я получаю: нестационарный метод не может ссылаться на статический контекст. Но если удалить статический из основного, я получаю главный метод, статический в ошибке класса – user2850714