java - 在java中循环遍历3x3矩阵
问题描述
public class Test {
private static int rows = 3;
private static int col = 3;
public static void main(String[] args) {
Test t = new Test();
t.stringClass5();
System.out.println(t.stringClass5());
}
public String stringClass5() {
String varString = "";
final String lineSEP = System.getProperty("line.separator");
for (int i = 0; i < rows; ++i) {
//System.out.println(i);
varString += "+---".repeat(col) + "+" + lineSEP;
for (int k = 0; k < col; ++k) {
varString += "| " + (i) + " ";
}
varString += "|"+ lineSEP;
}
varString += "+---".repeat(col) + "+";
return varString;
}
}
当我运行代码时,它只在 3x3 矩阵的第一行打印 0,在第二行打印 1,在第三行打印 2。我希望它能够从 0 打印到 8。任何帮助将不胜感激,谢谢。
解决方案
因为您正在打印 i (行计数器),所以您在第一个中得到 0,在第二个中得到 1。相反,您可以在子循环中使用单独的计数器递增它。
public class Test {
private static int rows = 3;
private static int col = 3;
public static void main(String[] args) {
Test t = new Test();
t.stringClass5();
System.out.println(t.stringClass5());
}
public String stringClass5() {
String varString = "";
int counter = 0;
final String lineSEP = System.getProperty("line.separator");
for (int i = 0; i < rows; ++i) {
//System.out.println(i);
varString += "+---".repeat(col) + "+" + lineSEP;
for (int k = 0; k < col; ++k) {
varString += "| " + counter + " ";
counter++;
}
varString += "|"+ lineSEP;
}
varString += "+---".repeat(col) + "+";
return varString;
}
}
推荐阅读
- elasticsearch - 无法在弹性搜索中完全创建索引
- java - Android AudioTrack 替代品
- python - pandas(Python)中箱线图的数据限制和最大距离
- python - KNN 算法:“int”对象不可下标
- powershell - Powershell通过Thumbprint检索证书作为字符串与字符串变量
- javascript - 列出内存中的所有 Blob 以便在 javascript 中进行调试
- python - 开始函数 - 不正确的论点 - 不抛出错误
- json - 使用 fromGroup 生成角度动态 formControlName
- php - 如果输入值存在于回显中,如何从输入值中发布数据
- javascript - 如何映射两个数组来创建对象?