Anfallare.armees = 10;
    Forsvarare.armees = 10;
 do{
    Anfallare.slaTarningar();
    Forsvarare.slaTarningar();

    Anfallare.visaTarningar();
    Forsvarare.visaTarningar();

    MotVarandra(Anfallare, Forsvarare);

    status(Anfallare, Forsvarare);

    }while(Anfallare.armees == 0 || Forsvarare.armees == 0);


是我所拥有的,我也尝试过

 System.out.println(Anfallare.armees + " :: " + Forsvarare.armees);


在这之后,它是9和10,它们都不是0。

为什么要运行一次?

最佳答案

while(Anfallare.armees == 0 || Forsvarare.armees == 0)


仅在Anfallare.armees == 0 || Forsvarare.armees == 0时才继续。在您的示例中,两个都不为0,因此不会循环。

while(Anfallare.armees != 0 && Forsvarare.armees != 0)


意思是,如果任意一个为零(Anfallare.armees != 0 && Forsvarare.armees != 0),请停止循环

您实际上可能想要:

while (Anfallare.armees != 0 || Forsvarare.armees != 0)


表示如果两者均为0,则停止循环

07-25 21:04