Как присвоить значение объектам в Java - PullRequest
0 голосов
/ 22 ноября 2018

Как мне добавить значение к моему ArrayList в java, а затем распечатать значение для каждого объекта.

import java.util.ArrayList;
import java.util.Scanner;

public class exercise {
private ArrayList<String> files;
  public void ArrayList() {
    a = new ArrayList<>();
  }

  public void addObject() {
    a.add("blue")
    a.add("green")
    a.add("yellow")
  }

  public void addValue(String Object) {
    for (String filenames : a)
      Scanner reader = new Scanner(System.in);

    int n = reader.nextInt();
    a.set(n)
  }
}

Я хочу попробовать присвоить значения с помощью пользовательского ввода "blue", "green""и" желтый ", так что это может быть любое значение

1 Ответ

0 голосов
/ 22 ноября 2018

Редактировать:

Вы хотите взять ввод пользователя и, если это предопределенный цвет, такой как «синий», затем добавить предопределенное число для этого цвета, например, 3, в список?Правильно?

Если это так, то этот код принимает пользовательский ввод с консоли, проверяет, является ли этот ввод предопределенным цветом, а затем сохраняет соответствующий номер в ArrayList.

Когда пользователь вводит ' stop ', программа печатает только цифры в списке и затем завершается.

import java.util.ArrayList;

public class Exercise {

    private static ArrayList<Integer> list = new ArrayList<Integer>(); // You can initialize your ArrayList here as well

    public static void main(String[] args) {

        String userInput = null;
        int number = 0;

        do{
            // Read inputs as long as user did not entered 'stop'
            userInput = readUserInput();
            number = createNumberFromColor(userInput);
            // add the number to the list if it's not 0
            if (number!=0) {
                list.add(number);   
            }
        }while (!userInput.equals("stop"));

        // If you want afterwards you can print the list elements
        System.out.println("The list contains:");
        for (int i=0; i<list.size(); i++) {
            System.out.print(""+list.get(i)+" ");
        }
        System.out.println();
    }

    private static String readUserInput(){
        // This is an easier way to read the user input from the console
        // than using the Scanner class, which needs to be closed etc...
        return System.console().readLine();
    }

    private static int createNumberFromColor(String input){
        switch (input) {

            // Add your own cases here, for example case "red": return 1, etc...

            case "blue":
            return 5;

            case "yellow":
            return 3;

            // If the input was not a known color then return 0
            default:
            return 0;
        }
    }
}
...