java - 循环不递增

标签 java loops for-loop

所以提供一些背景信息。我正在创建一个可以自行解决的小扫雷问题。我首先从一个非常基本的算法开始,它将执行该算法,当它看到“-”字符时,它将对该位置进行猜测。是的,我知道这很可怕,但我很快就会推进它。

但这是我的问题。

输入

public int[] aiMove()
{
    int[] move = new int[2];
    for(int a = 0; a<board.length-1; a++)
    {
        for(int b = 0; b<board.length-1; b++)
        {
            System.out.println(a +" and "+ b);
            System.out.println(a+"<"+(board.length-1));
            System.out.println(b+"<"+(board.length-1));



            if(board[a][b]=='-')
            {
                move[0]=a;
                move[1]=b;
                return move;
            }
            else
            {

                System.out.println("No Moves left");
            }
        }
    }
    return move;
}

出于某种原因,它不想增加 a 和 b 值。

它陷入了无限循环,因此我快速检查了代码中的那些打印语句。

这就是返回的内容。

 0<7
0 and 0
0<7
0<7
0 and 0
0<7
0<7
0 and 0
0<7
0<7
0 and 0
0<7
0<7
0 and 0
0<7
0<7
0 and 0
0<7
0<7
0 and 0
0<7
0<7

最佳答案

每次调用此方法时都会经历以下过程:

       if(board[a][b]=='-')
        {
            move[0]=a;
            move[1]=b;
            return move;

aiMove 必须从另一个方法重复调用。

关于java - 循环不递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34354889/

相关文章:

java - 使用 for 循环迭代二维数组

java - 作为实例方法调用

java - 从一个类调用另一个类的变量

c# - 按下按钮后运行事件

c# - C# 5.0 中的捕获闭包(循环变量)

matlab - 如何遍历两个相同大小的矩阵并比较它们

java - 从 HTML 页面上的本地 Java/java applet 类调用函数

java - Java 中的 Hibernate MappingException

python - 使用 join 时,Spark 迭代时间呈指数增长

python - 如何在 Python 中循环列表