在他的toString方法中打印数组的索引

时间:2018-07-21 09:05:47

标签: java arraylist linked-list tostring

大家好,对不起我的英语,我不太擅长写作。

我实际上正在为电影院预订系统(这是一个大学项目)。我有一个用户的LinkedList,并且在其中放置了一个预定座位的ArrayList。 bookedSeat类如下:

public class bookedSeat implements Serializable {

private Hours h;
private Days d;
private int hallNumber;
private int seatNumber;
//getter&setter and constructor below...

当我显示用户的预订时,我使用toString方法:

@Override
public String toString() {

    String ret="\n \033[31m Booking "  +  ": day: " + getD() 
    + ", Hall: " + getH() + ", hour: " + getH() + ", seat number: " + 
    getSeatNumber() + "\n";
    return ret;
} 

一旦我预定了几个座位,我就会得到以下输出:

User{Nome=Daniele, Booked Seat: [
Booking : Day: 24, Hall: 1, hour: 20, seat number: 45
, 
Booking : Day: 29, Hall: 1, hour: 20, seat number: 24
]} 

我现在问用户要取消的预订,并要求他写预订号,这样我可以保存此值-1并删除相关的索引(第一个为1,第二个为2,依此类推。 )。

是否可以通过toString方法获取预订编号?更清楚的是:我希望此toString的输出:

User{Nome=Daniele, Booked Seat: [
Booking 1: Day: 24, Hall: 1, hour: 20, seat number: 45
, 
Booking 2: Day: 29, Hall: 1, hour: 20, seat number: 24
]} 

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您需要将索引添加到toString的{​​{1}}而不是User的最后一个字符串中。

BookedSeat

答案 1 :(得分:-1)

您将必须在bookedSeat类中添加一个计数器变量,以记录预订的座位数,然后使用toString来获取它。

在bookedSeat中:

....your code
private int noOfSeatsBooked;

在toString()

String ret="\n \033[31m Booking " + getnoOfSeatsBooked() +  ": day: " + getD() 
+ ", Hall: " + getH() + ", hour: " + getH() + ", seat number: " + 
getSeatNumber() + "\n";
return ret;

}

使用循环增加每次预订的座位。 希望对您有帮助!