我有一个小代码,其中包含将要显示的城市名称。 现在希望用户可以使用扫描仪添加名称,我知道sanner的代码,但不知道如何添加变量。
我的代码:
String[] cityNames = { "Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren" };
System.out.println(Arrays.toString(cityNames));
答案 0 :(得分:3)
没有你不能用数组来做,因为它的大小是固定的,一旦声明了。
您可能正在寻找收藏品。希望使用List
接口与ArrayList
实施。
原因是ArrayList
是
List接口的可调整大小的数组实现。
List<String> cityNames = new ArrayList<>();
现在,add, remove
cityNames
List
......等方法以及更多有用的方法
答案 1 :(得分:1)
您可以使用List<String>
,获取输入值并添加它:
List<String> cities = new ArrayList<>();
cities.add(userInput);
List比使用数组更好,因为它的长度是可修改的。
答案 2 :(得分:1)
数组具有固定长度。如果集合中的字符串数量是可变的,则必须使用List。
答案 3 :(得分:0)
如果新元素的索引小于数组的大小,则可以向数组添加新元素。
arr[i]="some value" // to do this i < arr.length
如果在为索引分配新值时,数组完全填充了元素,则会覆盖以前的值。由于数组具有固定大小,因此无法添加超过声明大小的元素。
答案 4 :(得分:0)
数组是固定大小的,因此如果已填充大小,则无法向其添加值。对于动态数组使用List而不是数组。
这样做
List<String> list = new ArrayList<String>(Arrays.asList("Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren" ));
list.add("new value1");
list.add("new value2");
答案 5 :(得分:0)
最好使用set,它会自动排除重复的条目:
Set<String> cities = new HashSet<String>();
cities.addAll(Arrays.asList("Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren"));
然后添加新城市只需致电:
sities.add(newCity);
答案 6 :(得分:0)
Scanner input = new Scanner(System.in);
List<String> cityNames = new ArrayList<String>();
//Add the city names to cityNames list...
cityNames.add(input.next());