2013-02-04 36 views
-1

在下面的代碼中,我得到了一個基於我定義的arraylist的輸出。如何使用Scanner類?

import java.util.ArrayList; 
import java.util.Collections; 
import java.util.List; 

public class DinoMania { 

public static void main(String[] args) { 
    List<Dinosaur> dinoList = new ArrayList<Dinosaur>(); 
    Dinosaur d1 = new Dinosaur(1970, 1985); 
    Dinosaur d2 = new Dinosaur(1980, 1981); 
    Dinosaur d3 = new Dinosaur(1990, 2015); 
    Dinosaur d4 = new Dinosaur(2000, 2007); 
    Dinosaur d5 = new Dinosaur(2010, 2012); 
    Dinosaur d6 = new Dinosaur(2020, 2030); 
    Dinosaur d7 = new Dinosaur(2030, 2035); 

    dinoList.add(d7); 
    dinoList.add(d6); 
    dinoList.add(d5); 
    dinoList.add(d4); 
    dinoList.add(d3); 
    dinoList.add(d2); 
    dinoList.add(d1); 

    //System.out.println(dinoList); 

    Collections.sort(dinoList); 

    //System.out.println(dinoList); 
    int maxCount = 0; 
    List<String> ls=new ArrayList<String>(); 

    for (Dinosaur dino : dinoList) { 

     // System.out.println("start date" + dino.getStartDate()); 
     // System.out.println("end date"+ dino.getEndDate()); 
     int count = 0; 
     for (Dinosaur dino2 : dinoList) { 

      if (dino2.getStartDate() <= dino.getEndDate() 
        && dino2.getEndDate() >= dino.getStartDate()) 
       count++; 

     } 
     //System.out.println(count); 

     if (maxCount < count) { 
      maxCount = count; 
      ls.clear(); 
      ls.add(dino.getStartDate()+"-"+dino.getEndDate()); 
     } 

     else if(maxCount==count) 

     { 
      ls.add(dino.getStartDate()+"-"+dino.getEndDate()); 
     } 
    } 
    //System.out.println(maxCount); 

//System.out.println(ls); 

System.out.println("Max no of Dinos alive at the same time :"+maxCount); 
} 

}

我想知道我怎麼定義的ArrayList動態,當從控制檯的用戶輸入

+0

,什麼是問題? – alnasfire

+3

谷歌「我如何使用掃描儀類」 – Abubakkar

+0

問題是,我在這裏定義自己的Arraylist,例如 恐龍d2 =新恐龍(1980,1981);恐龍D3 =新恐龍(1990,2015);恐龍d4 =新恐龍(2000,2007); 恐龍d5 =新恐龍(2010,2012);恐龍d6 =新恐龍(2020年,2030年);恐龍d7 =新恐龍(2030年,2035年); 該方案工作正常,預期產出正在實現。我想知道如何從鍵盤獲得輸入,而不是使用預定義的數組 – adamantium

回答

0

你可以使用這樣的事情:

Scanner s = new Scanner(System.in); 
    System.out.println("please enter 5 records"); 
    List<Dinosaur> dinoList = new ArrayList<Dinosaur>(); 

    for (int i = 0; i < 5; i++) { 
     int num1 = s.nextInt(); 
     int num2 = s.nextInt(); 
     Dinosaur d = new Dinosaur(num1, num2); 
     dinoList.add(d); 

    } 
+0

@ Hossam:謝謝你很多幫助 – adamantium

+0

我們歡迎兄弟:) –

相關問題