有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使while循环一次不工作?JAVA

有人能帮我吗? 我正在学习java,有这样的代码:

   //...
        for (int i = 0; i < player.length; i++) {
            Player d = player[i];
            Object chose;
            do {
                String chosenplayer = JOptionPane.showInputDialog("Please choose a player:");
                System.out.println("you chose player: " + chosenplayer);
                chose = chosenplayer;

            } while (!d.getPlayerName().equals(chose)) {
                if (d.getPlayerTalon() > 0) {
                    System.out.println("name=" + d.getPlayerName() + " talon=" + d.getPlayerTalon());
                    d.setFreeTalons();
                }
            }
        }

我需要一个“while循环”:当(!d.getPlayerName().equals(chose))(d.getPlayerTalon()>0).循环工作到d.getPlayerTalon()>0

但是现在程序在(!d.getPlayerName().equals(chose))的第一个循环之后停止,但是我需要这么多(!d.getPlayerName().equals(chose))d.getPlayerTalon()>0的循环

一个队有3名球员,每个球员有10张票,例如我想选择球员#1,从他那里拿一张票-所以现在他有9张票,之后我想再次检查是否有球员#1在队中?如果有这样的球员,我会检查他是否有票,如果有,再拿一张票,那么球员#1将有8张票,依此类推

对不起我的解释,但我尽力解释


共 (2) 个答案

  1. # 1 楼答案

    代码中有两个块-一个是do while循环,另一个是:

           { 
             if (d.getPlayerTalon()>0){
                   System.out.println (...);
                 d.setFreeTalons();
              }
           }
    

    是的,您可以在Java中使用没有控制结构的块,希望这能澄清一点

  2. # 2 楼答案

    for (int i = 0; i < player.length; i++) {
                Player d = player[i];
                String chose;
                do {
                    String chosenplayer = JOptionPane
                            .showInputDialog("Please choose a player:");
                    System.out.println("you chose player: " + chosenplayer);
                    chose = chosenplayer;
    
                } while (!d.getPlayerName().equals(chose));
                if (d.getPlayerTalon() > 0) {
                    System.out.println("name=" + d.getPlayerName() + " talon="
                            + d.getPlayerTalon());
                    d.setFreeTalons();
                }
    
            }
        }
    
    Use this code.