Dane ze scannera do listy

0
    public void personalInformation(){

        Scanner hp = new Scanner(System.in);
        System.out.println("Type initial date:");
        String initialDate = hp.nextLine();
        System.out.println("Type final date:");
        String finalDate = hp.nextLine();
        System.out.println("Type your first name and last name:");
        String name = hp.nextLine();
        System.out.print("Type your driving licence ID:");
        int drivingLicenceID = hp.nextInt();

Jak te dane ze scannera wrzucić do arraylisty?

Chciałbym żeby to tak wyglądało:

1. data, data, kowalski, 1235612
2. data, data, krokiet, 4124124
0

Stwórz nowa klasę zawierająca te dane.
A w Twojej klasie twórz obiekt, skanerem czytaj dane i ustawiaj je setterem, a do listy dodawaj już gotowy obiekt.

0

Ruszyłem trochę do przodu, ale nie wiem czy we właściwym kierunku? :)


import java.io.IOException;
import java.util.*;

public class Launcher{

public static void main(String[] args) throws IOException {

    ArrayList<Launcher> reservationlist = new ArrayList<>();
    reservationlist.add("2016-08-09", "2016-08-20", "Pan Krokiet", "125125"); // czerwona linijka 

    Helper.welcomeMessage();
    char choice, ignore;

    for (;;) {
        do {
            Helper.showMenu();
            
            choice = (char) System.in.read();
            do {
                ignore = (char) System.in.read();
            } while (ignore != '\n');
        } while (choice < '1' | choice > '5' & choice != 'q');
        if (choice == 'q') {
            break;
        }

       Orders order = new Orders();

        switch (choice) {
            case '1': // Get information about company
                Helper.aboutUs();
                break;
            case '2': // List of our motorcycles (enum)
                System.out.println("Price per 1 day:  PREMIUM 500zl, GOLD 500zl, BASIC 500zl");
                for (Prices pricelist : Prices.values())
                    System.out.printf("%s\t%s\n", pricelist.getTitle(), pricelist);
                break;
            case '3': // Make a reservation
                Scanner hp = new Scanner(System.in);
                Orders reservation = new Orders();

                System.out.println("Type initial date:");
                reservation.initialDate = hp.next();

                System.out.println("Type final date:");
                reservation.finalDate = hp.next();

                System.out.println("Type your first name and last name:");
                reservation.name = hp.next();

                System.out.print("Type your driving licence ID:");
                reservation.drivingLicenceID = hp.next();

                System.out.println("\n\n Reservation completed " + reservation.name + "\n Thanks for your reservation\n");
                break;

                reservationlist.add(reservation.initialDate, reservation.finalDate, reservation.name, reservation.drivingLicenceID));  // czerwona linijka 

            case '4': // Check availability of motorcycles
                System.out.println("");
                break;
            case '5': // Contact with us
                Helper.contact();
                break;
        }

```java
public class Orders {

        String initialDate;
        String finalDate;
        String name;
        String drivingLicenceID;

    public Orders(String initialDate, String finalDate, String name, String drivingLicenceID) {
        this.initialDate = initialDate;
        this.finalDate = finalDate;
        this.name = name;
        this.drivingLicenceID = drivingLicenceID;
    }

    public Orders() {}

    @Override
    public String toString() {
        return "Orders{" +
                "initialDate='" + initialDate + '\'' +
                ", finalDate='" + finalDate + '\'' +
                ", name='" + name + '\'' +
                ", drivingLicenceID=" + drivingLicenceID +
                '}';
    }

    public void setInitialDate(String initialDate) {
        this.initialDate = initialDate;
    }
    public void setFinalDate(String finalDate) {
        this.finalDate = finalDate;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setDrivingLicenceID(String drivingLicenceID) {
        this.drivingLicenceID = drivingLicenceID;
    }
}
1

Stworzyłeś listę chyba do przechowywania obiektów klasy Orders, więc dlaczego robisz coś takiego?

 
ArrayList<Launcher> reservationlist = new ArrayList<>(); 
reservationlist.add("2016-08-09", "2016-08-20", "Pan Krokiet", "125125");
1

Jak dla mnie powinien działać na obiektach w tej liście:

 ArrayList<Orders> reservationlist = new ArrayList<Orders>(); 
reservationlist.add(new Orders("2016-08-09", "2016-08-20", "Pan Krokiet", "125125"));

Później wyciągasz obiekty i możesz na nich wykonywać metody i pracować na danych

0

Moja odpowiedz z tematu:
Funkcja Scanner do kilku obiektów.
może tobie pomóc.
Dane są inne, ale odczytywane za pomocą Scanner, przypisywane do obiektu, który jest następnie dodawany do ArrayList.

1 użytkowników online, w tym zalogowanych: 0, gości: 1