gpt4 book ai didi

java - System.out.println() 更改单线程程序中变量的值

转载 作者:行者123 更新时间:2023-12-02 11:06:06 25 4
gpt4 key购买 nike

我一直在开发一个大小合适但单线程的java应用程序。其中我有一个函数,它循环遍历大小约为 [300][10] 的矩阵。我已经在这个代码片段之上做了很多事情,并且还有 3 个大小相似的其他矩阵作为局部变量。当我注意到代码时,我遇到了循环未通过第一个值(表[0][0])的问题:

System.out.println("");
for (int i = 0; i < table.length; i++) {
for (int j = 0; j < table[i].length; j++) {
if(i == 0 && j == 0){System.out.println("looped through 0 0");}
// a bunch of other stuff
}
}

打印输出:

looped through 0 0

但是代码:

//System.out.println("");
for (int i = 0; i < table.length; i++) {
for (int j = 0; j < table[i].length; j++) {
if(i == 0 && j == 0){System.out.println("looped through 0 0");}
// a bunch of other stuff
}
}

不打印任何内容。

为什么会这样呢?我的 Java 堆空间是否已用完?我已经溢出了吗?这是编译器错误吗?

最佳答案

我发现出了什么问题。在循环上方,我有另一个循环,并在其中留下了 printf 语句。我仍然不确定为什么会发生这种情况,但我能够在下面的类(class)中重现它。

public class TestJavaPrintfError {

public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
System.out.printf(" ");
}
String[][] table = new String[300][6];

for (int i = 0; i < table.length; i++) {
for (int j = 0; j < table[i].length; j++) {
if (i == 0 && j == 0) {
System.out.println("looped through 0 0");
}
}
}
}

}

我正在 eclipse neon 上进行开发。有人知道为什么会发生这种情况吗?

关于java - System.out.println() 更改单线程程序中变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50954667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com