Как установить пользовательский ввод строк в ENUM Java - PullRequest
0 голосов
/ 10 декабря 2018

Поэтому я хочу, чтобы пользователь вводил пользовательские строки ввода и сохранял их в ENUM, но я не уверен, как сохранить новые строки в ENUM.

public enum Food {
  PIZZA("", "", ""),

private final String location;
private final String calories;
private final String fat;

Food(String location, String calories, String fat){
    this.location = location;
    this.calories= calories;
    this.fat= fat;
}
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

String location = input.nextLine();
String calories= input.nextLine();
String fat= input.nextLine();

Food(location, calories, fat);

Не думаю, чтоПища (местоположение, калории, жир);устанавливает ввод в перечислении, что я могу использовать для его установки?

1 Ответ

0 голосов
/ 10 декабря 2018

Не уверен, что вы пытаетесь достичь, делая это, но вы можете удалить модификатор final из полей перечисления, добавить методы получения и установки и сохранить их после ввода данных пользователем.Например:

public enum Food {
    PIZZA;

    private String location;
    private String calories;
    private String fat;

    public String getLocation() { return location; }
    public void setLocation(String location) { this.location = location; }

    public String getCalories() { return calories; }
    public void setCalories(String calories) { this.calories = calories; }

    public String getFat() { return fat; }
    public void setFat(String fat) { this.fat = fat; }


    @Override
    public String toString() {
        return String.format("%s: %s %s %s", super.toString(), location, calories, fat);
    }
}

Основной

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    Food.PIZZA.setLocation(input.nextLine());
    Food.PIZZA.setCalories(input.nextLine());
    Food.PIZZA.setFat(input.nextLine());

    System.out.println(Food.PIZZA);
}

Выход

locat
calor
fat
PIZZA: locat calor fat
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...