2015-09-05 48 views
-1

有人可以幫我嗎? 我學習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球員將有8張門票,等等。

對不起,我的解釋,但我盡我所能解釋它。

+0

請...格式化您的代碼。我的眼睛正在流血 – Dici

+0

對不起,但我不知道該怎麼做,我是一個tyro。 – pavlo

+0

一個tyro?你什麼意思 ? – Dici

回答

0
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. 
+0

現在情況如何? –

0

你在你的代碼2塊 - 一個是do-while循環,另一個是這樣的:

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

是的,你可以有沒有用Java處理相關的控制結構塊,希望這澄清它有點。

+0

對不起,但我不明白你的回答 – pavlo

+0

do- while循環應該以';'結尾;答案中提到的塊與循環沒有關聯,並且不需要封閉爲塊(刪除封閉的'{}' – shanmuga