Java 如何确保填充的空间不会在二维阵列中再次占用?

Java 如何确保填充的空间不会在二维阵列中再次占用?,java,arrays,2d,Java,Arrays,2d,这是我第一次上这个网站。我对java和一般的编码非常陌生,所以我很可能需要深入的解释。我正在写一个程序,让12名学生坐在5排6列的教室里。我必须防止越界的例外情况,并防止学生坐上已经坐满的座位我需要帮助确保学生不会坐已经有人坐的座位。我不知道怎么做。这是我目前的代码: public class Classroom { public static void printArray(char[][] array) { for(int row=0;row<5;++row) {

这是我第一次上这个网站。我对java和一般的编码非常陌生,所以我很可能需要深入的解释。我正在写一个程序,让12名学生坐在5排6列的教室里。我必须防止越界的例外情况,并防止学生坐上已经坐满的座位我需要帮助确保学生不会坐已经有人坐的座位。我不知道怎么做。这是我目前的代码:

public class Classroom
{
public static void printArray(char[][] array)
{

    for(int row=0;row<5;++row)
    {
        System.out.print("| "); 
        for(int col =0;col<6;++col)
            System.out.print(array[row][col] + "| "); 
        System.out.println();
    }
    for(int col =0;col<6;++col)
        System.out.print("---");
    System.out.println(); 
}

public static void main()
{
    Scanner reader = new Scanner(System.in); 
    char[][] array = new char[5][6];
    for(int i =0;i<5;++i)
        for(int j=0;j<6;++j)
            array[i][j] = ' '; 

    printArray(array); 
    for(int x =1;x<14;++x)
    {


        System.out.print("Choose column (1-6) for a student: "); 
        int column = reader.nextInt(); 
        System.out.print("Choose row (1-5) for a student: "); 
        int row = reader.nextInt(); 


        if(column <1 || column>6 || row<1 || row>5)
        {
            System.out.println(); 
            System.out.println("Column should be from 1 to 6. Row should be from 1 to 5.");

            System.out.println("The program will restart from student 1."); 
            System.out.println(); 

            x=1;
            for(int i =0;i<5;++i)
                for(int j=0;j<6;++j)
                    array[i][j] = ' '; 

            continue;
        }


        for(int i =0;i<5;++i)
            for(int j=0;j<6;++j)

                array[row-1][column-1] = 'S';
        printArray(array);


    }
}
公共课堂
{
公共静态void打印数组(字符[][]数组)
{
对于(int row=0;row)
当他们试图进入已经有人坐的座位时,这将打印到控制台。您只需要检查当前行/列是否包含人员,或者在您的情况下,是否包含值'S'


您应该在从扫描程序读取行后立即添加此项,以防止其执行其余代码。

请回答您的问题并更改标题以描述您面临的问题。请记住,堆栈溢出的目的是成为可搜索的编程问题和答案存储库,因此请将此标题指定为特定的,并且与你所面临的问题相关。实际上,除了标题更改之外,你还应该在文章的主体部分描述你所面临的问题。这并没有描述你所面临的问题。请具体说明你在解决这个问题时遇到的问题。
        if (array[row-1][column-1] == 'S') {
            System.out.println("This seat is taken! Please choose another.");
            continue;
        }