现在我如何使用回报确定胜利者。对于每种可能的获胜可能性,我使用其中的8种语句。这是在第一次移动之后结束游戏,为什么以及什么会起作用?
if(grid[1][1].equals(grid[1][2]) && grid[1][2].equals(grid[1][3]))
{
done = true;//makes game over by making done true
}
//later returns done
答案 0 :(得分:2)
int z = 1;
test(x,y);
抛弃结果,测试中的z在本地范围内。你想要
z = test(x,y);
System.out.println(z);
答案 1 :(得分:0)
这个代码甚至会以这种形式编译,就像你写的那样。但是你没有在任何地方传递方法测试的价值,所以它是冗余代码。您必须声明变量并将测试方法的值传递给它。例如int veryImportanatValue = test(x,y);
答案 2 :(得分:0)
您需要更清楚地了解全局和局部变量。
这里,z是main方法中的局部变量,另一个z是测试方法中的另一个局部变量。他们完全不同,期望他们有相同的名字。
您可以做的是将返回值分配给main方法中的某个局部变量(调用测试方法的方法形式),然后使用已赋值的变量进行计算。