当我们处理多个情况下,每次都要接受一个新的字符串行时,存储它们的最佳方式是什么? (类似于我们在编程竞赛中获得的东西) 例如: 假设有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 –