Как редактировать массив с предопределенными значениями, чтобы также включить пользовательский ввод JAVA

1

У меня есть массив (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();

            }

}

}

  • 0
    Спасибо за все ответы! Вместо этого я буду использовать ArrayList ... намного проще
Теги:
arrays
io
java.util.scanner

2 ответа

0
Лучший ответ

Я бы рекомендовал вам изучить списки, в первую очередь 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);
2

Примитивные массивы, подобные вашему FruitBowl являются статичными по длине, они не могут добавлять к ним элементы. Чтобы добавить значение в примитивный массив, вам нужно создать экземпляр нового, который будет длиннее, скопировать значения предыдущего массива и затем установить новое значение. К счастью, в Java у нас есть коллекции. Для вашего образца вы хотите посмотреть в Списки, в частности, ArrayList или Vector.

https://docs.oracle.com/javase/tutorial/collections/interfaces/list.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню