У меня есть массив (FruitBowl), и я бы хотел, чтобы он обновлялся каждый раз, когда пользователь вводит информацию EG. Если пользователь хочет добавить фруктовую папайю, я бы хотел, чтобы он был добавлен в FruitBowl
Я знаю, как бы я это сделал, если бы он просто сохранялся в массиве FruitName (как показано ниже), но не FruitBowl (с его предопределенными значениями)
Пожалуйста помоги!
import java.util.Scanner;
public class FruitArrayEdit
{
public static void main(String[]args)
{
Scanner input = new Scanner(System.in);
String [] FruitBowl = {"(Plums)", "(Oranges)", "(Mangos)", "(Strawberries)"};
System.out.println("How many types of fruit would you like to add to the database?");
int FruitNum = input.nextInt();
String[] FruitName = new String[FruitNum];
for (int count = 0; count < FruitName.length; count++)
{
System.out.println("Enter the name of the fruit " +(count+1));
FruitName[count] = input.next();
}
}
}
Я бы рекомендовал вам изучить списки, в первую очередь ArrayList
для этой функции, но если вы действительно хотите использовать массивы, вы всегда можете использовать метод System.arraycopy()
для выполнения операции копирования. Пример:
public static String[] combine(String[] first, String[] second) {
String[] copy = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, copy, first.length, second.length);
return copy;
}
Этот метод создает копию первой входной строки, затем добавляет к ней содержимое второй строки и возвращает ее. Просто позвоните этому методу в свой массив FruitBowl, чтобы скопировать его содержимое:
FruitBowl = combine(FruitBowl, FruitName);
Примитивные массивы, подобные вашему FruitBowl
являются статичными по длине, они не могут добавлять к ним элементы. Чтобы добавить значение в примитивный массив, вам нужно создать экземпляр нового, который будет длиннее, скопировать значения предыдущего массива и затем установить новое значение. К счастью, в Java у нас есть коллекции. Для вашего образца вы хотите посмотреть в Списки, в частности, ArrayList или Vector.
https://docs.oracle.com/javase/tutorial/collections/interfaces/list.html