当前位置: 首页 > 面试题库 >

for循环跳到最后吗?

刁俊人
2023-03-14
问题内容

我对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);
    ...


 类似资料:
  • 问题内容: 我创建的代码为我寻找回文数时提供了数千种解决方案。任务是找到可能的最高编号: 如何使代码仅显示for循环创建的最大值? 问题答案: 该答案在代码中描述为解决方案:

  • 我的程序中有一个错误,使我的循环只读取输入字符串的最后一部分。我想让程序计算一个字符串中每个字符的个数。我不想要答案告诉我如何更有效地存储这些值,而不重复所有内容26次。请回答我在这里提出的问题。抱歉,如果这是一个副本!我只是不知道该说明什么,因为没有明显的错误。

  • 问题内容: 我正在尝试使用for循环跳过值。就像是 有什么建议?谢谢! 问题答案: 在循环开始时使用它: 这比仅继续进行要好得多。您不想迭代128到159。你会浪费时间。

  • DB_示例我正在探索数据库的自动化测试,并努力在表中找到空值。 我想测试: > 如果EID2= 有null值,我得到以下错误:不能调用String.startswith(String),因为java.util.Map.get(对象)的返回值为null。 我的第一个值总是空的,所以我从计数器1开始循环,这解决了这个问题,但是我的表中的EID和CID中都有空值。如果不满足条件(即值为null),测试失

  • 我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:

  • for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 语法 (Syntax) Perl编程语言中for循环的语法是 - for ( init; condition; increment ) { statement(s); } 这是for循环中的控制流 - init步骤首先执行,只执行一次。 此步骤允许您声明和初始化任何循环控制变量。 只要出现分号,就不需要在此处输入声明。