Я действительно не знаю, как добавить новое значение после копирования массива. Кто-нибудь знает, как я мог этого добиться?
Результат, который я хочу: - Новое значение массива: я люблю программировать
public static void main(String[] args) {
String originalArray[] = {"I", "Love","Java"};
String newArray[] = new String[originalArray.length];
System.arraycopy(originalArray, 0, newArray, 0, 2);
System.out.println("Original Array Value: " + Arrays.toString(originalArray));
System.out.println("New Array Value: " + Arrays.toString(newArray) + Coding);
}
И кстати, могу ли я сделать такой массив: -
String originalArray[] = {"I Love Java"};
//Instead breaking up to {"I","Love","Java"}
//and if change it to one way is the steps going to be the same and the copy ways too?
Я думаю, смысл этого упражнения в том, что вы можете изменить последний элемент в новом массиве.
newArray[newArray.length - 1] = "Coding";
Затем, если вы напечатаете newArray так же, как вы печатали исходный массив, вы увидите изменение
@NISHANAJIHAH Для добавления нескольких значений вы, вероятно, захотите использовать реализацию java.util.List, например ArrayList.
вы можете заменить последний элемент вашего массива, а затем распечатать их как одну строку, используя метод String.join
:
String originalArray[] = {"I", "Love","Java"};
originalArray[originalArray.length-1] = "Coding";
System.out.println(String.join(" ", originalArray));
Я действительно не знаю, как добавить новое значение после копирования массива.
Вам нужно будет создать новый массив, скопировать все элементы старого массива в новый массив и добавить новое значение. Имейте в виду, однако, что Java ArrayList больше подходит для таких операций (например, add
, remove
и т. д.).
Тем не менее, в вашем случае, чтобы получить вывод «Я люблю кодирование», вам просто нужно изменить свой код на:
public static void main(String[] args) {
String originalArray[] = {"I", "Love","Java"};
String newArray[] = new String[originalArray.length];
System.arraycopy(originalArray, 0, newArray, 0, 2);
newArray[newArray.length - 1] = "Coding";
System.out.println("Original Array Value: " + Arrays.toString(originalArray));
System.out.println("New Array Value: " + Arrays.toString(newArray));
}
И кстати, могу ли я сделать такой массив: -
String originalArray[] = {"I Love Java"};
Да, ты можешь. Однако теперь это будет массив с одной строкой «Я люблю Java», тогда как
String originalArray[] = {"I","Love","Java"}
представляет собой массив из трех строк, а именно "I", "Love", "Java"
. В этом случае вам придется заменить String
Java
на Coding
без необходимости копировать все элементы массива.
public static void main(String[] args) {
String originalArray[] = {"I Love Java"};
String newArray[] = new String[originalArray.length];
newArray[0] = originalArray[0].replace("Java", "Coding");
System.out.println("Original Array Value: " + Arrays.toString(originalArray));
System.out.println("New Array Value: " + Arrays.toString(newArray));
}
вау, хорошо, я никогда этого не знал, но если я хочу добавить несколько значений, есть ли простой способ сделать это.