當我們處理多個情況下,每次都要接受一個新的字符串行時,存儲它們的最佳方式是什麼? (類似於我們在編程競賽中獲得的東西) 例如: 假設有t個用例可以作爲輸入。然後如果輸入,則後面跟着t行。那麼我們在這裏使用數組?還是其他什麼? 如果我使用數組作爲重新分配字符串變量
Scanner sc=new Scanner(System.in);
String input=sc.next();
這種方式不會是作爲輸入變量有用只能使用一次,對嗎?
當我們處理多個情況下,每次都要接受一個新的字符串行時,存儲它們的最佳方式是什麼? (類似於我們在編程競賽中獲得的東西) 例如: 假設有t個用例可以作爲輸入。然後如果輸入,則後面跟着t行。那麼我們在這裏使用數組?還是其他什麼? 如果我使用數組作爲重新分配字符串變量
Scanner sc=new Scanner(System.in);
String input=sc.next();
這種方式不會是作爲輸入變量有用只能使用一次,對嗎?
如果您需要存儲數據,您將需要使用ArrayList。一個ArrayList就像一個數組,只是它在向它添加元素時動態增長。
與定義它:
List<String> myList = new ArrayList<String>();
然後在用戶輸入的東西,寫
myList.add(someStringVariable);
你需要在初始化ArrayList後放置一對括號嗎?即''新ArrayList
如果您的意思是括號內的< >,那麼您並不嚴格需要它們,但是您應該始終使用它們。 ArrayLists本身就是類,但它們是泛型,因爲它們可以容納任何你想要的對象。既然你在這種情況下持有字符串,你應該像上面那樣定義它。如果你想保持其他的對象類型,那麼你應該這樣定義它。你可以在這裏閱讀一些關於泛型的知識:http://docs.oracle.com/javase/tutorial/java/generics/ – Kon
如果我們必須使用字符串的split方法來處理那個輸入呢? split方法返回一個字符串數組。那麼我們怎樣才能每次用每個測試用例重新聲明這個數組呢? – user2327972
最好的辦法是,你得到它來處理數據。很多時候開發人員認爲你需要一個數組或列表實際上並不需要。如果你確實需要存儲字符串,我建議一個ArrayList –