Java 嵌套的for循环在do while中以保持播放器';s按顺序旋转

Java 嵌套的for循环在do while中以保持播放器';s按顺序旋转,java,loops,for-loop,do-while,Java,Loops,For Loop,Do While,这是为一个简单的回合游戏创建回合计数器的开始尝试。虽然目前这是一个无限循环,但我很好奇是否有更好或更优雅的方式来完成我想做的事情——在整个游戏中保持玩家的顺序 public class Main { public static void main(String args[]){ int i; // player turn counter int j = 6; // number of players created + 1 do

这是为一个简单的回合游戏创建回合计数器的开始尝试。虽然目前这是一个无限循环,但我很好奇是否有更好或更优雅的方式来完成我想做的事情——在整个游戏中保持玩家的顺序

public class Main {
    public static void main(String args[]){

        int i;     // player turn counter
        int j = 6; // number of players created + 1

        do {
            for (i=1; i < j; i++){
                System.out.println("Player " + i);  // just for visualization
            }
        }while (true);
    }
}


这是完全正确的,只是一些观察
,而(winner==false)
作为单个
=
意味着分配,
=
意味着比较。

您的方法似乎是目前最好的情况。 其他方法涉及使用数组,这将使这里的事情变得复杂。 尽管要保存嵌套循环,您只需添加
的条件即可!获胜者
进入for循环

for (i=1; i < j && winner == false; i++)
    {
        System.out.println("Player " + i);
        if(i==j)
            i=1;
    }
for(i=1;i

这将同样有效,并将保存另一个循环。

实际上,
而(!winner)
。您肯定不希望
(winner=false)
,因为
=
是赋值运算符。
=
是赋值运算符。使用
==
进行比较。我编辑过。我不是新来的,我在投稿前没听清楚。谢谢@khelwoodYou need
我最近这么做了,但没有给我想要的结果。我只是再试了一次,结果成功了。谢谢@4castleI我还没到。我添加了
!获胜者
到我的代码剪断并编辑了上面的问题。ty@YashovardhanNote现在你不再需要外部的do-while循环了。你只需要添加一个if条件来检查i==j,然后将它设置回1My-first-go是216个字符,包括你添加的if语句,我的第二个是215个字符,你的是170个字符。太棒了,@Yashovardhan
while(!winner)
for (i=1; i < j && winner == false; i++)
    {
        System.out.println("Player " + i);
        if(i==j)
            i=1;
    }