Hashmaps出售机票java

时间:2017-10-18 04:19:40

标签: java hashmap ticket-system

我正在为销售机票的应用程序大学做一个项目。 在提供飞机座位的部分,我正在使用哈希图,将乘客名称,行和&座位是关键。 我不知道如何使用扫描仪要求客户写下他想要的行和座位,并将座位标记为已占用。我要创建一个名为seat的类吗?如果你有一些想法,我会非常感激。

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);
}

和我做的另一个课程是:

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;
    }
}

2 个答案:

答案 0 :(得分:1)

目前,此代码正在执行的是它将您的座位对象用作键并将名称存储为值。您应该将座位(例如它的行和座位号)存储为键,并且您可以设置一个值来判断该座位是否被占用。 因此,无论何时创建一个座位,您都可以使用该密钥(座位号,行,名称)将其置于哈希映射中,并且每当新客户端请求相同的密钥时,您都可以看到座位是否被占用。

答案 1 :(得分:1)

代码

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

需要位于代码块中,它不能只位于您定义字段的位置。

尝试转入main方法

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

然后使用这些字段来创建Seat

Seta myseat = new Seat (row, seat);