Java 布尔不';不要打断我的话

Java 布尔不';不要打断我的话,java,if-statement,for-loop,boolean,break,Java,If Statement,For Loop,Boolean,Break,我对论坛和编程都是新手。 如果我的问题真的很基本,我提前道歉,但我对这方面真的很陌生,我必须在很短的时间内学到很多东西,所以我可能会错过一些概念 关于我的问题, 我有一个方法,它应该检查矩阵是否还有可用的空间,如果找到了,就停止 矩阵是这样初始化的(我知道它可以在一行中,但矩阵是在对象的构造函数中创建的) 然后用for语句填充了类似“”的空格,效果很好 这里是方法 public boolean checkIfFull() { boolean full = true; for (i

我对论坛和编程都是新手。 如果我的问题真的很基本,我提前道歉,但我对这方面真的很陌生,我必须在很短的时间内学到很多东西,所以我可能会错过一些概念

关于我的问题, 我有一个方法,它应该检查矩阵是否还有可用的空间,如果找到了,就停止

矩阵是这样初始化的(我知道它可以在一行中,但矩阵是在对象的构造函数中创建的)

然后用for语句填充了类似“”的空格,效果很好

这里是方法

public boolean checkIfFull()
{
    boolean full = true;
    for (int i=0;i<matJeu.length || !full;i++)
    {
        for (int j=0;j<matJeu[i].length || !full ;j++)
        {
            if(matJeu[i][j]==' '){
                full = false;
            }
        }
    }
    return full;
} 
public boolean checkifull()
{
布尔满=真;

对于(int i=0;i循环的条件部分将导致循环继续,只要它返回
true

只要点击
full=false
,那么
!full==true
,条件语句的计算结果总是
true
anything | | true==true
),本质上就是将您的当前代码置于一个无限循环中

要中断for循环,需要将条件部分求值为
false


我不确定您希望循环做什么,因为根据上一段,在第一个空格字符处停止似乎不是您想要的。

循环的条件部分将导致循环继续,只要它返回
true

只要点击
full=false
,那么
!full==true
,条件语句的计算结果总是
true
anything | | true==true
),本质上就是将您的当前代码置于一个无限循环中

要中断for循环,需要将条件部分求值为
false

我不确定循环要做什么,因为在第一个空格字符处停止似乎与上一段不符。

问题在于for循环的or条件

for (int i=0;i<matJeu.length || !full;i++)
这将告诉它“只要它低于数组长度并且我们检测到它仍然满,就保持循环”。

问题在于for循环的or条件

for (int i=0;i<matJeu.length || !full;i++)


这将告诉它‘只要它低于数组长度,就保持循环,我们检测到它仍然是满的’

为什么不将
full=false
替换为
return false
?@BJ Myers确实有效。非常感谢,但我仍然想知道在这种情况下我如何打破for语句?这是我想要的唯一方法吗要取消带有布尔值的for语句,请在
for
循环中删除
!full
,并将
full=false;
替换为
return false;
@Jerry06是的,确实有效,感谢您的回答。但是,我仍然想知道当前代码中的哪些部分不起作用。假设出于某种原因,我想中断方法之外的for语句或类似的语句。我必须用布尔值打破for语句。程序如何计算!full as true?
!true==false
,同样地,
!false==true
为什么不用
返回false
替换
full=false
?@BJ Myers,这确实有效。非常感谢,但我你还想知道在这种情况下我怎样才能破坏for语句吗?如果我想用布尔值取消for语句,这是唯一的方法吗?删除
!在
for
循环中的full
,并将
full=false;
替换为
return false;
@Jerry06是的,确实有效,谢谢你的回答。但是,我还是会的I’我想知道当前代码中有什么不起作用。比方说,出于这样或那样的原因,我想在方法或类似的东西之外中断for语句。我必须用布尔值中断for语句。程序如何计算!full as true?
!true==false
,同样,
!false==true
。是不是!full与full==false相同?如果是这样,如何将其计算为true?
full==false
(或等价地
!full
)计算为
true
如果
full
false
。这个矩阵应该用空格填充(对于中性)玩家1的R字符和玩家2的B字符。这种方法应该检查网格中是否有剩余的空间,因为如果没有,那么游戏就是平局。我不希望这种方法在找到空间后扫描整个网格。啊-你在问题中没有提到矩阵中的其他字符打开。只需关注您的条件何时应计算为true(循环应继续),何时应计算为false(循环应停止)。尝试将
!full
等内容理解为“未满”,记住我在其他各种评论中概述的逻辑规则。我理解,就我而言,你回答了我的问题。但我仍然想知道我如何才能达到这样的结果。我的意思是,如果这两个条件中的一个是真的,我的强硬声明就会被打破。这就是现在的情况,“完整”布尔值变为false,因此!full语句的计算结果为true,因为full为false。那么为什么for不停止?嗯!full不是与full==false相同吗?如果是,如何将其计算为true?
full==false
(或等效地
!full
)如果
full
false
,则计算为
true
。这个矩阵应该用空格填充(对于中性)玩家1的R字符和玩家2的B字符。这种方法应该检查网格中是否有剩余的空间,因为如果没有,那么游戏就是平局。我不希望这种方法在找到空间后扫描整个网格。啊-你在问题中没有提到矩阵中的其他字符打开。只需关注您的条件何时应计算为真(循环s
for (int i=0;i<matJeu.length && full;i++)