2015-12-11 85 views
1

我創建的數組可以存儲多個數據嗎? 例如,當用戶添加一個遊戲時,我想顯示多個遊戲的總分數,但使用下面的代碼,我的數組只包含最後一個輸入數據。可以在數組中存儲多個數據

import java.util.Scanner; 
public class Assingment2 
{ 
    public static void main (String[] args) 
    { 
     String text; 
     String gameName; 
     int scores; 
     int timePlayed; 
     int i = 0; 
     int total = 0; 

     Scanner sc = new Scanner(System.in); 
     System.out.println("Please enter your name"); 
     text = sc.nextLine(); 

     System.out.println("Please enter your game achivements (Game name:score:time played) E.g. Minecraft:14:2332"); 

     while (i < 100){ 

      text = sc.nextLine(); 

      if (text.isEmpty()){ 
       System.out.println("Nothing was entered. Please try again"); 
       break; 
      } 

      if(text.equals("quit")){ 
       break; 
      } 

      System.out.println (text); 
      i++; 

      String [] splitText = text.split(":"); 

      if (splitText.length !=3){ 
       System.out.println("Error please try again"); 
       break; 
      } 

      gameName=splitText[0]; 
      scores=Integer.parseInt(splitText[1]); 
      timePlayed=Integer.parseInt(splitText[2]); 

      System.out.println("Game: "+splitText[0]+", Score= "+splitText[1]+", Time Played= "+splitText[2]);    
     } 
    } 
}  
+0

@CubeJockey我只是把它放在正確的標記中,所以其他具有Java(而不是Javascript)經驗的人可以正確編輯它。 – TbWill4321

+0

@ A.hussain你會添加一些示例輸入和輸出,特別是你想要實現的嗎? –

+0

@ShvetChakra 請輸入您的姓名 阿里 請輸入您的遊戲achivements(遊戲名稱:得分:一次飾演) 例如的Minecraft:14:2332 的Minecraft:12:432 遊戲:的Minecraft,分數= 12,時間玩過= 432 GTA:324:2124 遊戲:GTA,分數= 324,時間玩過= 2124 我想要實現的是,添加分數和時間一起玩,以獲得用戶輸入的所有遊戲的總時間和總得分,但是我不確定如何允許陣列存儲多個數據 –

回答

2

你可以這樣做。有兩個類叫做PlayerGame。該Game類可以像下面這樣:

public class Game { 
     String name; 
     int score; 
     int timePlayed; 
} 

Player類可以像下面這樣:

public class Player { 
     String playerName; 
     ArrayList<Game> gamesPlayed; 
} 

然後,在主程序中,你可以添加代碼,通過迭代玩家,添加遊戲數據,操縱遊戲數據等。

相關問題