【发布时间】:2017-05-11 13:27:20
【问题描述】:
我只是让这个文件读取它并将其存储到数组中,然后想稍后调用这些值来打印它们 我的文本文件
`101
2017 年 12 月 7 日
14-7-2017
某个名字
00000.. 电话号码
520
29-8-2017
2017 年 1 月 9 日
某个名字
00000.. 电话号码
1020
30-12-2017
2018 年 1 月 1 日
某个名字
00000.. 电话号码`
这是主要的测试代码
public class test {
public static void main(String[] args) throws ParseException, FileNotFoundException{
Scanner res = new Scanner (new File("reservations.txt"));
int z=0;
do{
int room_numb = res.nextInt();
String cInr=res.next();
String cOutr=res.next();
String Fname=res.next();
String Lname=res.next();
String phone_numb=res.next();
DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Date cIn = df.parse(cInr);
Date cOut = df.parse(cOutr);
Reservation.reserv[z]=new Reservation (room_numb, cIn, cOut, new Guest(Fname, Lname, phone_numb));
z=z+1;
}while(res.hasNext()==true);
Guest FLnames=Reservation.reserv[0].getguest();
System.out.println(FLnames);
}
我的课程是这 3 个 预订
public class Reservation {
static Reservation[] reserv= new Reservation[200];
Guest guest;
int room_numb;
Date in, out;
public Reservation(int room_numb, Date in, Date out, Guest g) {
this.room_numb = room_numb;
this.in = in;
this.out = out;
g= guest;
}
public int getroom_numb(){
return room_numb;
}
public Date getin(){
return in;
}public Date getout(){
return out;
}public Guest getguest(){
return guest;
}
房间
public class Room {
int room_numb;
String indate;
public void setRoom(int i) {
room_numb =i;
}
public int getRoom(){
return room_numb;
}
和客人
public class Guest {
String Fname;
String Lname;
String phone_number;
public Guest(String fname, String lname, String phone_numb ){
Fname=fname;
Lname=lname;
this.phone_number=phone_numb;
return;
}
public String getFname(){
return Fname;
}
public String getLname(){
return Lname;
}
public String getphone_number(){
return phone_number;
}
}
我已经能够获取所有变量,例如房间编号/入住日期和退房日期/但是当我通过
Guest FLnames=Reservation.reserv[0].getguest();
System.out.println(FLnames);
它给了我 null 这意味着它不引用任何东西
所以我无法使用String Fname=Reservation.reserv[0].getguest().getFname();
那么如何从预订数组中的客人那里获取数据?
注意:我是 Java 新手,所以请对 ma 温柔一点 :) sysout 也只是用于在 main 方法中进行测试
谢谢:)。
【问题讨论】: