我有一個包含將顯示城市名稱的小代碼。 現在想讓用戶可以用掃描儀添加名字,我知道sanner的代碼,但不知道如何添加變量。Java將變量添加到字符串數組
代碼,我有:
String[] cityNames = { "Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren" };
System.out.println(Arrays.toString(cityNames));
我有一個包含將顯示城市名稱的小代碼。 現在想讓用戶可以用掃描儀添加名字,我知道sanner的代碼,但不知道如何添加變量。Java將變量添加到字符串數組
代碼,我有:
String[] cityNames = { "Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren" };
System.out.println(Arrays.toString(cityNames));
不,你不能用數組做,因爲大小是固定的,一旦宣佈。
您可能正在尋找集合。傾向於使用List
接口與ArrayList
實現。
的原因是,ArrayList
是
List接口的大小可變數組實現。
List<String> cityNames = new ArrayList<>();
現在,你有你的cityNames
List
您可以使用List<String>
方法,如add, remove
,...還有更多有用的方法,得到的輸入值,並將其添加:
List<String> cities = new ArrayList<>();
cities.add(userInput);
列表最好使用比數組更好的長度,因爲它的長度是可以修改的。
數組有固定長度。如果您的集合中的字符串數量是可變的,那麼您將不得不使用列表。
如果新元素的索引小於數組的大小,則可以向數組添加新元素。
arr[i]="some value" // to do this i < arr.length
如果數組完全填充元素,當您將新值賦給索引時,以前的值將被覆蓋。由於數組具有固定大小,所以不能添加比聲明大小更多的元素。
數組的大小是固定的,所以如果大小已經填滿,您不能將值添加到它。對於動態數組,使用List而不是數組。
做這樣
List<String> list = new ArrayList<String>(Arrays.asList("Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren"));
list.add("new value1");
list.add("new value2");
這是更好地利用有集,這會自動排除重複的條目:
Set<String> cities = new HashSet<String>();
cities.addAll(Arrays.asList("Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren"));
再增加新的城市只要致電:
sities.add(newCity);
Scanner input = new Scanner(System.in);
List<String> cityNames = new ArrayList<String>();
//Add the city names to cityNames list...
cityNames.add(input.next());
使用'List'或'Set ' –
您不能將變量添加到數組。它的大小一旦創建就被固定。 – Maroun