Я пытаюсь распечатать двухмерный массив и определить элементы на север, юг, восток и запад от начального элемента. Я заполнил массив случайными целыми числами, но мне нужна помощь с печатью «-1» для этого направления, если направление выходит за пределы, вместо того, чтобы вызвать сбой всей программы.
import java.util.Scanner;
public class GetNeighbors
{
public static void printRow(int[]row)
{
for (int i : row) {
System.out.print(i);
System.out.print("\t");
}
System.out.println();
}
public static void main(String[]args)
{
Scanner kb=new Scanner(System.in);
System.out.println("Please enter a number of rows");
int r=kb.nextInt();
System.out.println("Please enter a number of columns");
int c=kb.nextInt();
int[][]spot=new int[r][c];
arrayWork(spot);
directionWork(spot);
}
public static void arrayWork(int[][]spot)
{
for(int i=0;i<spot.length;i++)
{
for(int j=0;j<spot[i].length;j++)
{
spot[i][j]=(int)(Math.random()*1001);
}
}
for(int[]row:spot)
{
printRow(row);
}
}
public static void directionWork(int[][]spot)
{
Scanner kb=new Scanner(System.in);
System.out.println("Please choose a row for an element");
int row=kb.nextInt();
System.out.println("Please choose a column for an element");
int col=kb.nextInt();
System.out.println("Requested neighbors for element at row "+row+", col "+col+" "+"("+spot[row][col]+")");
System.out.print("North: "+spot[row-1][col]);
System.out.print(" South: "+spot[row+1][col]);
System.out.print(" East: "+spot[row][col+1]);
System.out.print(" West: "+spot[row][col-1]);
}
}