I'm having trouble with an assignment where we are required to print out this array:
1 10 11 20 21
2 9 12 19 22
3 8 13 18 23
4 7 14 17 24
5 6 15 16 25
My code is somewhat correct but it is not printing 10 and 19 where it should be.
My output:
Choose a number for the rows from 0 to 16. 5 Choose a number for the columns from 0 to 16 5 1 0 10 0 19
2 9 11 18 20
3 8 12 17 21
4 7 13 16 22
5 6 14 15 23
My code:
//snake move with the number import java.util.Scanner;
public class SnakeMove{
public static void main(String[]args){
//create Scanner object
Scanner inScan = new Scanner (System.in);
//prompt the user to choose number for the Row from 0 to 16
System.out.println("Choose a number for the rows from 0 to 16.");
//take the input from user with nextInt() method
//use the variable int row
int row = inScan.nextInt();
//prompt the user to choose number for the Col from 0 to 16
System.out.println("Choose a number for the columns from 0 to 16");
//take the input from user with nextInt()
//use the variable int col
int col = inScan.nextInt();
if (row != col){
System.out.println("Run the program again and choose the same number for Row and Col");
System.exit(0);
}
int [][] arr = move(row,col);
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}//main method
static int [][] move(int row, int col){
boolean flag = true;
int count = 1;
int [][] array = new int[row][col];
for (int j = 0; j < array[0].length; j++){
if (flag) {
for (int i = 0; i < array.length; i++){
//assign the increment value of count
// to specific array cells
array[i][j] = count;
count++;
}
flag = false;
}
else {
//row decrement going up
for (int i = array.length-1; i > 0; i--) {
//assign the increment value of count
// to specific array cells
array[i][j] = count;
count++;
}
flag = true;
}
}//column increment
return array;
}//move method
}//end SnakeMove class
Can anyone detect what is causing the error? Any help would be appreciated.
Please login or Register to submit your answer