帮我看看这道Java怎么编译

假如有4行,10列座位,去掉最左和最右一列,这道Java怎么编译。


package com.example.demo.csdn;

import java.util.ArrayList;
import java.util.List;

public class Main {


    public static void main(String[] args) {
        //假如有4行,10列座位,去掉最左和最右一列,这道Java怎么编译
        List<Integer> item = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            item.add(i);
        }
        List<List<Integer>> items = new ArrayList<>();
        items.add(item);
        items.add(item);
        items.add(item);
        items.add(item);
        System.out.println(items);
        for (int i = 0; i < items.size(); i++) {
            if (i == 0) {
                //删除最左边一列
                items.get(i).remove(0);
                //删除最右边一列
                items.get(i).remove(items.get(0).size()-1);
            }

        }
        System.out.println(items);

    }


}

要去掉最左和最右一行,原来有10列,那结果就是8列

//行数
int arrsCount = 4;
//剩下的列数
int resultColumn = 8;

由于不变动行数,所以行数循环次数不变

//行数
int arrsCount = 4;
//数组索引从0开始,所以i默认值为0
for (int i = 0; i < arrsCount; i++) {
   
}

去掉最左列,那就是从第二个开始

for (int j = 1; ....) {

}

接着去掉最右列

//剩下的列数
int resultColumn = 8;
for (int j = 1; j <= resultColumn; j++) {
    
}

实现删减

//由于去掉了最左列,所以原数组是从第二个开始的,但是结果的数组是要从第一个开始,所以j-1
results[i][j - 1] = origins[i][j];

完整的for循环

//行
 for (int i = 0; i < arrsCount; i++) {
     //列
     for (int j = 1; j <= resultColumn; j++) {
          results[i][j - 1] = origins[i][j];
     }
}

相关代码

public static void main(String[] args) {
        //行数
        int arrsCount = 4;
        //剩下的列数
        int resultColumn = 8;
        String[][] origins = new String[][]{
                {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
                {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
                {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"},
                {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}};
        String[][] results = new String[4][resultColumn];

        //行
        for (int i = 0; i < arrsCount; i++) {
            //列
            for (int j = 1; j <= resultColumn; j++) {
                results[i][j - 1] = origins[i][j];
            }
        }

        for (int i = 0; i < arrsCount; i++) {
            for (int j = 0; j < resultColumn; j++) {
                System.out.print(results[i][j] + ",");
            }
            System.out.println("\n");
        }
}