Я пишу эту программу, в которой пользователь вводит размеры для таблицы, затем создается таблица с этими размерами, а элементы внутри нее определяются из случайного генератора с целыми числами от 0 до 9. Затем мне нужно do создает цикл, который определит, есть ли в таблице четыре последовательных четных целых числа.Как проверить случайный двумерный массив для последовательных четных целых чисел?
2 5 8 7 1
3 2 9 4 7
5 1 2 0 3
8 0 1 2 7
В этой таблице два появляются последовательно, по диагонали от первого места. Это также может быть так:
9 5 3 7 0
2 5 7 3 1
8 5 0 2 9
4 5 1 7 5
В этой таблице пять отображаются вертикально вниз со второго места.
Вот что я сделал до сих пор:
public class FourConsecutiveNumbers {
public static void main(String[] args) {
Scanner rowDimension = new Scanner(System.in);
System.out.print("Enter the number of rows: ");
int firstInput = rowDimension.nextInt();
Scanner columnDimension = new Scanner(System.in);
System.out.print("Enter the number of columns: ");
int secondInput = columnDimension.nextInt();
int[][] randomTable = new int[firstInput][secondInput];
for (int row = 0; row < firstInput; row++) {
for (int column = 0; column < secondInput; column++) {
randomTable[row][column] = (int)(Math.random() * 10 + 0);
System.out.print(randomTable[row][column] + " ");
}
System.out.println();
}
}
}
Я знаю, что это не так много, я только создал два сканера и таблицу. Я не знаю, как сделать создание цикла для определения четырех последовательных четных чисел. Поскольку я думаю об этом, мне интересно, как сделать это - создать вложенный цикл, который исследует первую строку, а затем первый столбец, а затем определить, содержит ли одна из этой строки или столбца одно и то же целое число четыре раза. Затем повторите это, основываясь на размерах пользовательского ввода. Я не уверен, хотя ...
Я знаю, что это главная идея для этого было бы:
if there is x number that repeats consecutively four times in a row, then return true; else false
if there is x number that repeats consecutively four times in a column, then return true; else false
if there is x number that repeats consecutively four times in surrounding corner, then return true; else false.
Теперь, это просто псевдо-код, чтобы вернуться к, но я серьезно зациклился на том, как я это сделаю, и буду благодарен за вклад от других.
Есть ли определенная часть псевдо-код, который вам топтаться? – CBredlow
@CBredlow нет, я знаю, что такое идея кода; как реализовать это то, что меня толкает. – NEPat10
Если вам нужно было сделать это самостоятельно без компьютера, как бы вы это сделали? Начните с первой части (четыре раза подряд). Притворяйтесь, что вам нужно посмотреть через какой-то окуляр и посмотреть только одно число в массиве за раз (так, чтобы вы не просто «фиксировали» четыре числа, сидящие вместе). Вы должны придумать какой-то метод решения этого вопроса - что бы это было? Я думаю, как только вы это выясните, все, что вам нужно сделать, это перевести идею на код, который вы должны уметь делать. – ajb