首页 > 解决方案 > 如何获取每行的最后一个索引?

问题描述

我想获取网格每一行的最后一个索引以替换“。” 由“t”。

这是我目前拥有的:

在此处输入图像描述

到目前为止,我只设法在一条线上做到这一点。我曾尝试在几行上执行此操作,但它不起作用我发现自己每行的偏移量为 1。

我的代码:

for (int rows = 0; rows < size; rows++) {
    for (int columns = 0; columns < size; columns++) {
        if (divisibleBy3(rows) && divisibleBy3(columns)) {
            builder.append(pos);
        }
        else if(endArray >= (size*size-1) - size + 1 && endArray <= (size*size) - 1){
            if(divisibleBy3(endArray)){
                builder.append(pos);
            }
            else {
                builder.append(voidCase);
            }
        }
        else {
            builder.append(voidCase);
        }
        endArray++;
    }
    if(endRow == size - 1){
        builder.setCharAt(endRow, 't');
        endRow = 0;
    }
    endRow++;
    builder.append("\n");
}

谢谢你的帮助。

标签: java

解决方案


导致观察到的行为的代码中的问题是,它endArray始终具有相同的值。因此,您一遍又一遍地替换同一索引处的字符。这样的事情可能会按预期工作:

if (endArray == (rows + 1) * size) {
    builder.setCharAt(endArray + rows - 1, 't');
    endRow = 0;
} else {
    endRow++;
}

推荐阅读