试写订票系统,求高手帮忙

atinysix 2013-07-18 02:05:31
book方法这里总是有问题,不知道是哪里问题,我才学java,以前用C写过类似的,问题怎么解决啊?

import java.util.*;

class Ticket{
protected String trainNum;
protected String startCity;
protected String toCity;
protected String date;
protected String startTime;
protected String toTime;
protected int seatAccount;
protected double ticketPrice;
static int ticketsNum;
public Ticket(){
ticketsNum++;
}
public String getTrainNum(){return this.trainNum;}
public String getStratCity(){return this.startCity;}
public String getToCity(){return this.toCity;}
public String getDate(){return this.date;}
public String getStartTime(){return this.startTime;}
public String getToTime(){return this.toTime;}

public void setTrainInfo(String tN,String sC, String tC, String d, String sT, String tT, int sA, double tP){
this.trainNum = tN;
this.startCity = sC;
this.toCity = tC;
this.date = d;
this.startTime = sT;
this.toTime = tT;
this.seatAccount = sA;
this.ticketPrice = tP;
}
public static Ticket[] ticket = new Ticket[2];//current tickets information
static void currentTrainInfo(){
for(int i = 0; i < ticket.length; i++){
ticket[i] = new Ticket();
}
ticket[0].setTrainInfo("K000", "Hefei", "Beijing", "12/07", "08:30", "09:30", 50, 34.0);
ticket[1].setTrainInfo("K111", "Shanghai", "Hefei", "21/07", "09:45", "11:00", 50, 50.5);
}

static void getTrainsInfo(){
Ticket.currentTrainInfo();
System.out.printf("%10s%9s%14s%14s%10s%10s%7s%10s\n",
"班 次","日 期","始 发 站","终 点 站","始发时间","到达时间","座位量","票 价");
for(int i = 0; i < Ticket.ticketsNum; i++){
System.out.printf(" %-6s%-7s%-10s%-10s%-10s%-9s%-7d%-7.2f\n",ticket[i].trainNum,ticket[i].date,ticket[i].startCity,
ticket[i].toCity,ticket[i].startTime,ticket[i].toTime,ticket[i].seatAccount,ticket[i].ticketPrice);
}
}
}
class Users extends Ticket{
protected String userName;
static int usersNum;
public Users(){
super();
usersNum++;
}
public static Users[] users = new Users[2];

public static void currentUsersInfo(){
for(int i = 0; i < users.length; i++){
users[i] = new Users();
}
}
static void book(){
Users.currentUsersInfo();
new Users();
Scanner input = new Scanner(System.in);
System.out.print("输入姓名:");
String inputName = input.nextLine();
users[usersNum].userName = inputName.toString();
System.out.println("\n可供选择的班次信息入下:");
Ticket.getTrainsInfo();
System.out.print("输入班次号: ");
String inputTrainNum = input.nextLine();
for(int i = 0; i < Ticket.ticketsNum; i++){
if(Ticket.ticket[i].getTrainNum() == inputTrainNum){
;
}
}

}

}
class Book extends Ticket{

}
public class BookingSystem {
static void homePage(){
System.out.println(" ***Welcome to Booking System***\n ");
System.out.println(" 1-----> Querying");
System.out.println(" 2-----> Booking");
System.out.println(" 3-----> Returning");
System.out.print("Please choose: ");
}
public static void main(String[] args){
Scanner input = new Scanner(System.in);
BookingSystem.homePage();
int choice = input.nextInt();
switch(choice){
case 1:
Ticket.getTrainsInfo();
break;
case 2:
Users.book();
break;
}
}
}



















...全文
172 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
花木兰1闪21A 2013-07-19
  • 打赏
  • 举报
回复
电猫 要学会调试,所谓的debug能力
oh_Maxy 2013-07-19
  • 打赏
  • 举报
回复
应该和你另外的帖子是一个系统吧?你参考下另外一个帖子的答复吧
不懂游走 2013-07-18
  • 打赏
  • 举报
回复
另外再说一句 系统报错很清楚 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 你稍微debug一下就能找到位置了
不懂游走 2013-07-18
  • 打赏
  • 举报
回复
你new Users的时候usersNum加了1 但是没有放到users[]里面去 所以你后面 users[usersNum].userName = inputName.toString(); 取的时候就取不到
渺小的天空 2013-07-18
  • 打赏
  • 举报
回复
if(Ticket.ticket[i].getTrainNum() == inputTrainNum){ ; } 这个应该是if(Ticket.ticket[i].getTrainNum().equals(inputTrainNum){}吧

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧