用于填充表的Java循环

时间:2018-05-25 11:57:44

标签: java oop

假设我有一个Java格式的表格格式

  0    1    2
|_E_|____|____| 0
|___|____|____| 1

其中顶部的数字是列的索引,而侧面的数字是行的索引。功能:

add_at(x,y)

取两个参数x和y,即x坐标和y坐标。我正在尝试使用for循环填充表格,它从位置0,1开始

  0    1    2
|_E_|__x_|____| 0
|___|____|____| 1

标有x,后跟0,2

  0    1    2
|_E_|__x_|__x_| 0
|___|____|____| 1

继续

  0    1    2
|_E_|__x_|__x_| 0
|_x_|____|____| 1

  0    1    2
|_E_|__x_|__x_| 0
|_x_|__x_|____| 1

  0    1    2
|_E_|__x_|__x_| 0
|_x_|__x_|__x_| 1

直到表格被填满,除了标记为E的位置0。

int max_row = 1;    //maximum row length is 1
int max_col = 2;    //maximum column length is 2

for (int x = 0; x<=max_row; x++) {
    for (int y = 1; y<max_col; y++) {
        this.add_at(x,y)
        }
    }

我是Java的初学者,我很确定我写的for循环是错误的,我想要输出。希望得到一些帮助。

2 个答案:

答案 0 :(得分:3)

y更改为初始化为零(即填充所有行)并为(0,0)添加特殊条件。

此外,两个条件都应使用<=

int max_row = 1;    //maximum row length is 1
int max_col = 2;    //maximum column length is 2

for (int x = 0; x <= max_row; x++) {
    for (int y = 0; y <= max_col; y++) {
        if (x == 0 && y == 0) continue;
        this.add_at(x,y);
    }
}

答案 1 :(得分:0)

您可以执行以下操作,并且您可以根据需要更改代码:

    public class Table {
    public static void main(String[] args) {
      int maxRow = 4;    //maximum row length is 4
      int maxCol = 5;    //maximum column length is 5

      for (int x = 0; x<maxRow; x++) {
        for (int y = 0; y<maxCol; y++) {
          if (x==0 && y==0){
            System.out.print("| |");
            continue;
          }
          add_at(x, y);
        }
        System.out.println();
      }
    }

    public static void add_at(int x, int y) {


      System.out.print("|x|");
    }
  }

结果将是:

| ||x||x||x||x|
|x||x||x||x||x|
|x||x||x||x||x|
|x||x||x||x||x|

您可以从输出中看到屏幕截图: enter image description here

希望代码能对您有所帮助