2013-07-14 94 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