假如有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");
}
}