Hashmaps vendre des billets d'avion java


Je fais un projet pour l'université d'une application qui vend des billets d'avion. dans la partie d'offrir les sièges d'avion disponibles, je les fais avec des hashmaps, en mettant le nom du passager, et la rangée et le siège comme clé. Je ne sais pas comment utiliser le scanner pour demander au client d'écrire la rangée et le siège qu'il veut, et de marquer le siège comme occupé. Dois-je créer une classe appelée siège? si vous avez une idée, je serais très reconnaissante.

public AsientosConNombre(Integer row, String seat) {
        super(row, seat);
} 

public static void main(String[] args) {

    String nombrePasajero = Scanner.getString("Enter your name: ");
    Seat1 asientopasajero= new Seat1(AsientosConNombre);

    //creo el hashmap
    HashMap<Seat1, String> Asientos = new HashMap<Seat1, String>();
    //llenamos el hashmap con la informacion ingresada por el pasajero.

    Asientos.put(asientopasajero, nombrePasajero );

    //esto deberia devolver la app clientes cuando el usuario indica su nombre para saber su vuelo.
    // (ademas del horario y fecha del vuelo)
    System.out.println("Your information: "+ Asientos);
}

Et l'autre classe que j'ai faite est:

public class Seat1  {
    Integer row = Scanner.getInt("Enter your row: ");
    String seat = Scanner.getString("Enter your seat: ");
    public Seat1(Integer row, String seat) {
        this.row = row;
        this.seat = seat;
    }
    public boolean full(boolean occupied){
        return occupied;
    }
}
Author: wscourge, 2017-10-18

2 answers

Actuellement, ce que ce code fait, c'est qu'il utilise votre objet seat comme clé et stocke le nom en tant que valeur. Vous devriez stocker le siège tel que sa rangée et son numéro de siège comme clé et comme valeur, vous pouvez définir le drapeau qui indiquerait si ce siège est occupé. Donc, chaque fois que vous créeriez un siège, vous mettriez true dans le hashmap avec cette clé(numéro de siège, ligne, nom) et chaque fois qu'un nouveau client demande la même clé, vous pouvez voir si le siège est occupé ou non.

 0
Author: Saram ali, 2017-10-18 04:28:24

Le code

Integer row = Scanner.getInt("Enter your row: ");
String seat = Scanner.getString("Enter your seat: ");

Doit être dans un bloc de code, il ne peut pas simplement rester là où vous définissez vos champs.

Essayez de passer à votre méthode main

Integer row = Scanner.getInt("Enter your row: ");
String seat = Scanner.getString("Enter your seat: ");

, puis utilisez ces champs pour créer votre Seat

Seta myseat = new Seat (row, seat);
 0
Author: Scary Wombat, 2017-10-18 05:02:44