for循环跳到最后? [关闭]

2023-12-31

我对 Java 相当陌生,但我的 for 循环立即跳到以下代码中的最高可能值:

System.out.println(i);
    for(i = 0; i <= (difficulty - 2); i++);{
        System.out.println(i);
        nextMineX = (int) (10*Math.random());
        nextMineY = (int) (10*Math.random());

        for(y = 0; y <= 14; y++){
            System.out.println(y);
            if(nextMineX == minesX[y] && nextMineY == minesY[y]){
                i = i-1;
            } else{
                minesX[i] = nextMineX;
                minesY[i] = nextMineY;
            }
        }
    }

第一个 for 循环搞砸了,而嵌套循环运行良好。变量 i 初始化为 0,难度为 16。该摘录的输出如下:

0
14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14

如果有人能帮助我,我将非常感激。因为我是新人,所以我可能忽略了一些小而基本的事情。


问题出在第二行末尾的分号。拥有一个是有效的for没有主体的循环。在括号内包含独立的代码块也是有效的(这定义了变量的范围 - 如果您在括号内定义了变量,则它在外部不可用)。所以 Java 是这样解释代码的开头的:

for(i = 0; i <= (difficulty - 2); i++); // for loop is done, so i = difficulty - 2

{
    System.out.println(i);
    ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

for循环跳到最后? [关闭] 的相关文章

随机推荐