java - 如何获取每行的最后一个索引?
问题描述
我想获取网格每一行的最后一个索引以替换“。” 由“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");
}
谢谢你的帮助。
解决方案
导致观察到的行为的代码中的问题是,它endArray
始终具有相同的值。因此,您一遍又一遍地替换同一索引处的字符。这样的事情可能会按预期工作:
if (endArray == (rows + 1) * size) {
builder.setCharAt(endArray + rows - 1, 't');
endRow = 0;
} else {
endRow++;
}
推荐阅读
- python - Python,为什么没有定义capsys?
- reactjs - 如何存储二维数组的先前状态?
- python - 如何将此时间戳转换为 Oracle Developer 的另一个输出?
- networking - 网络分段允许横向扩展应用程序?
- javascript - 在 JavaScript 中,Math 对象 - 为什么它不处理数字中的逗号?
- laravel - 如何使用 Laravel 在 Shopify API 中更新多个产品
- sql - 每分钟 SQL Server 并发事件
- javascript - 用 puppeteer 刮表返回错误的结果
- mysql - 如何在 SQL 中执行嵌套 if 语句?
- visual-studio - SSIS OLEDB 连接管理器错误 - 无法创建名称为“DTS.ConnectionManagerOleDb.7”的类型