2013-07-14 166 views
1

當我們處理多個情況下,每次都要接受一個新的字符串行時,存儲它們的最佳方式是什麼? (類似於我們在編程競賽中獲得的東西) 例如: 假設有t個用例可以作爲輸入。然後如果輸入,則後面跟着t行。那麼我們在這裏使用數組?還是其他什麼? 如果我使用數組作爲重新分配字符串變量

Scanner sc=new Scanner(System.in); 
String input=sc.next(); 

這種方式不會是作爲輸入變量有用只能使用一次,對嗎?

+1

最好的辦法是,你得到它來處理數據。很多時候開發人員認爲你需要一個數組或列表實際上並不需要。如果你確實需要存儲字符串,我建議一個ArrayList –

回答

0

如果您需要存儲數據,您將需要使用ArrayList。一個ArrayList就像一個數組,只是它在向它添加元素時動態增長。

與定義它:

List<String> myList = new ArrayList<String>(); 

然後在用戶輸入的東西,寫

myList.add(someStringVariable); 
+0

你需要在初始化ArrayList後放置一對括號嗎?即''新ArrayList ();'。 – Th3Cuber

+1

如果您的意思是括號內的< >,那麼您並不嚴格需要它們,但是您應該始終使用它們。 ArrayLists本身就是類,但它們是泛型,因爲它們可以容納任何你想要的對象。既然你在這種情況下持有字符串,你應該像上面那樣定義它。如果你想保持其他的對象類型,那麼你應該這樣定義它。你可以在這裏閱讀一些關於泛型的知識:http://docs.oracle.com/javase/tutorial/java/generics/ – Kon

+0

如果我們必須使用字符串的split方法來處理那個輸入呢? split方法返回一個字符串數組。那麼我們怎樣才能每次用每個測試用例重新聲明這個數組呢? – user2327972