分享开发阳光旅行网app 完整版 请采纳

package 机考2;

public  class Adult extends Person {
	@Override
	public double getPrice() {
		// TODO Auto-generated method stub
		return 2000;
	}

	@Override
	public void printInfo() {
		System.out.println("姓名是"+super.getName()+",年龄是"+super.getAge()+"类型:成人,价格是"+getPrice());
	}


}




package 机考2;

public class Aged extends Person{
	@Override
	public double getPrice() {
		// TODO Auto-generated method stub
		return 1000;
	}

	@Override
	public void printInfo() {
		System.out.println("姓名是"+super.getName()+",年龄是"+super.getAge()+"类型:老人,价格是"+getPrice());
	}
	

}


package 机考2;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

import 机考1.Traveler;

public class App {
	//存放所有订单的集合
		private List<Oreder> olist=new ArrayList<Oreder>();
		
		Scanner input=new Scanner(System.in);

		private Adult adult;
		
		
		//打印菜单的方法
		public void print() {
			System.out.println("***********欢迎光临阳光旅游网**********");
			System.out.println("1.添加出行订单\t2.查看我的出行订单\t3.修改订单信息\t4.删除出行人\t5.查看行程\t6.退出系统");
			System.out.println("请选择(1-6)");
		}
		
		//增加订单
		public void addOrder() {
			//创建order对象 将对象添加集合中
			System.out.println("请输入出行日期:");
			String date=input.next();
			System.out.println("请输入联系号码:");
			String phone=input.next();
			//创建一个空的出行人集合
			List<Person> plist = new ArrayList<Person>();
			//定义订单的总金额
			double total=0;
			System.out.println("**********添加出行人信息***********");
			String flag="y";
			do {
				System.out.println("1,成人 \t 2,儿童 \t 3,老人 请选择类别:");
				int choose=input.nextInt();
				System.out.println("请输入姓名:");
				String name=input.next();
				System.out.println("请输入年龄:");
				int age=input.nextInt();
				Person person=null;
				switch (choose) {
				case 1:
					Adult adult2 = new Adult();
					break;
				case 2:
					System.out.println("是否占座(true/false)");
					boolean result=input.nextBoolean();//true false
					person=new Children(result);
					break;
				case 3:
					Aged aged = new Aged();
					break;
				}
				person.setAge(age);
				person.setName(name);
				double price = person.getPrice();
				total=total+price;
				person.printInfo();
				plist.add(person);
				System.out.println("是否继续添加(y,n):");
				flag=input.next();
			}while(flag.equalsIgnoreCase("y"));
			//创建order对象 将对象添加集合中
			Oreder order=new Oreder(phone, date, plist, total);
			olist.add(order);
			order.show();
		}
		
		//查询订单
		public void showOrder() {
			for (Oreder oreder : olist) {
				System.out.println("出行日期:"+oreder.getDate());
				System.out.println("联系人手机号码:"+oreder.getPhone());
				System.out.println("*****详细信息*****");
				System.out.println("姓名 年龄 金额");
				List<Person> plist = oreder.getPlist();
				for (Person person : plist) {
					person.printInfo();
				}
			}
		}
		//修改订单
				public void replace() {
					System.out.println("请输入新的出行日期");
					String date1 = input.next();
					System.out.println("请输入新的联系人号码");
					String phone1=input.next();
					int a = 11;
					if (phone1.toString().length()==a) {
						for (Oreder oreder : olist) {
							oreder.setDate(date1);
							oreder.setPhone(phone1);
						}
						System.out.println("新的日期"+date1);
						System.out.println("新的联系人号码"+phone1);
					}
					
				}
					public void delete() {
						System.out.println("请输入要删除的出行人姓名");
						String str=input.next();
						List<Person> plist =null;
						for (int i = 0; i < olist.size(); i++) {
							Oreder oreder = olist.get(i);
							plist = oreder.getPlist();
							
						}
						
						for (int i = 0; i < plist.size(); i++) {
							Person person = plist.get(i);
							if (person.getName().equals(str)) {
								plist.remove(i);
								System.out.println("删除成功");
							}else {
								System.out.println("该订单信息不存在");
							}
						}
						}
					public void line() {
						System.out.println("1、游船全线一日游︰");
						System.out.println("①下关码头——小普陀——南诏风情岛——蝴蝶泉——大理古城");
						System.out.println("②大理古城龙龛码头——小普陀——南诏风情岛——蝴蝶泉——大理古城");
						System.out.println("2、游船半线游︰大理古城龙龛码头——金梭岛景区、罗荃半岛景区——大理古城");
						System.out.println("3、自驾游1(租车)∶大理古城——崇圣寺三塔——蝴蝶泉");
						System.out.println("4、自驾游2(租车)∶远观三塔——蝴蝶泉——双廊古镇");
						System.out.println("休闲度假游");
						System.out.println("1、逛大理古城——游天龙八部影视城——苍山大索道洗马塘");
						System.out.println("2、自驾环洱海(租车)∶大理古城——喜洲——双廊——挖色——小普陀——观音阁——下");
						System.out.println("3、大理古城——洱源地热国");
						System.out.println("4、逛大理古城——桃溪谷");
					}		

		}
		



package 机考2;

public class Children extends Person {
	private boolean flag;//是否占座

	public Children() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public Children(boolean flag) {
		super();
		this.flag=flag;
	}

	public Children(String name, int age,boolean flag) {
		super(name, age);
		this.flag=flag;
	}

	@Override
	public double getPrice() {
		if(flag) {
			return 30;
		}else {
			return 0;
		}
	}

	@Override
	public void printInfo() {
		System.out.println("姓名是"+super.getName()+",年龄是"+super.getAge()+"类型:儿童,价格是"+getPrice()+",是否占座:"+flag);
	}
	
	

}




package 机考2;

import java.util.List;

import 机考1.Traveler;

public class Oreder {
private String date;//订单时间
	
	private String phone;//联系号码
	
	private List<Person> plist;//出行人集合
	
	private double total;//订单总金额
	
	public Oreder(String date, String phone, List<Person> plist, double total) {
		super();
		this.date = date;
		this.phone = phone;
		this.plist = plist;
		this.total = total;
	}

	public Oreder() {
		super();
		// TODO Auto-generated constructor stub
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public List<Person> getPlist() {
		return plist;
	}

	public void setPlist(List<Person> plist) {
		this.plist = plist;
	}

	public double getTotal() {
		return total;
	}

	public void setTotal(double total) {
		this.total = total;
	}
	
	//打印订单信息的方法
	public void show() {
		System.out.println("*******订单信息*******");
		System.out.println("出行日期:"+date);
		System.out.println("联系人手机号码:"+phone);
		System.out.println("订单总金额:"+total);
	}
	
		
	}
	

package 机考2;

public abstract class Person {
private String name;//名字
	
	private int age;//年龄

	public Person() {
		super();
	}

	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
	//计算出行的价格
	public abstract double getPrice();
	
	//显示自身信息的方法
	public abstract void printInfo();
	

}


package 机考2;

import java.util.Scanner;

public class TestDemo {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		App app = new App();
		while(true) {
			app.print();//打印菜单
			int choose=input.nextInt();
			switch (choose) {
			case 1:
				app.addOrder();
				break;
			case 2:
				app.showOrder();
				break;
			case 3:
				app.replace();
				break;
			case 4:
				app.delete();
				break;
			case 5:
				app.line();
				break;
			case 6:
				System.out.println("退出系统");
				return;
			}
		}
		
	}

}


  10月机试题

一、语言和环境

A、实现语言

  Java

B、环境要求

  Eclipse 10

二、功能要求

开发阳光旅行网app中用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。

具体功能要求如下:

(1)显示系统主菜单

包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。执行结果如图1所示。

(2)添加出行订单

填写出行日期、联系人手机号码、循环录入出行人信息。

出行人信息包括:

  • 出行人类别:成人、儿童(1.2m以下)、老人(65岁以上)
  • 姓名
  • 年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”)
  • 如果是儿童,需确定是否占床

每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。定价如下:

  • 成人:2000元/人
  • 儿童:免费,如需占床另加30元
  • 老人:半价,即1000元/人

当一条出行人信息录入完毕后,提示“是否继续添加(Y/N)?”,此处不区分大小写,当输入y或Y时继续录入下一条,否则显示订单信息,包括:

  • 出行日期
  • 联系人手机号码
  • 订单总金额(即所有出行人定单金额之和)

最后显示主菜单。执行效果如图2所示。

(3)查看我的出行订单信息

查看我的出行订单:查看所录入的订单信息。包括出行日期、联系人手机号码、所有出行人信息,运行效果如图3所示。

(4)修改行程信息

可修改出行日期、联系人手机号码,要求手机号码必须为11位,否则抛出异常信息,提示“手机号码必须为11位”,运行效果如果4所示。

正确修改后,显示修改后的信息,并提示“修改成功!”。如图5所示。

       

(5)删除出行人

填写要删除的出行人姓名,执行删除操作,删除成功后给出提示“删除成功!”,如图6所示。如果输入姓名错误,则提示“对不起,定单中不包含此游客信息!”如图7所示。

(6)查看行程

显示本次旅行行程信息。运行效果如图8所示。

(7)退出系统

     退出当前系统,显示“欢迎下次再来。”如图9所示。

三、要求与实现步骤

(一)不使用数据库,使用对象和集合存储数据

(二)定义实体类(成人订单、儿童订单、老人订单),儿童订单、老人订单为成人订单的子类。实体类至少包含但不局限于以上3个。

(三)在各实体类中均需实现各自计算订单价格、显示订单信息的方法,使用方法的重写。

(四)定义工具类,实现查看我的出行订单、添加订单、修改行程信息、删除出行人、查看行程等方法。需使用到对象传参。

(五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。

(六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。

(七)修改行程信息时,当手机号码录入错误时需使用throw手动抛出异常。

(八)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
开发阳光旅行网app用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。 具体功能要求如下: (1)显示系统主菜单 包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。执行结果如图1所示。 图1 主菜单 (2)添加出行订单 填写出行日期、联系人手机号码、循环录入出行人信息。 出行人信息包括: 出行人类别:成人、儿童(1.2m以下)、老人(65岁以上) 姓名 年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”) 如果是儿童,需确定是否占床 每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。定价如下: 成人:2000元/人 儿童:免费,如需占床另加30元 老人:半价,即1000元/人 当一条出行人信息录入完毕后,提示“是否继续添加(Y/N)?”,此处不区分大小写,当输入y或Y时继续录入下一条,否则显示订单信息,包括: 出行日期 联系人手机号码 订单总金额(即所有出行人定单金额之和) 最后显示主菜单。执行效果如图2所示。 图2 添加出行订单 (3)查看我的出行订单信息 查看我的出行订单:查看所录入的订单信息。包括出行日期、联系人手机号码、所有出行人信息,运行效果如图3所示。 图3 查看我的出行订单 (4)修改行程信息 可修改出行日期、联系人手机号码,要求手机号码必须为11位,否则抛出异常信息,提示“手机号码必须为11位”,运行效果如果4所示。 图4 手机号码不是11位 正确修改后,显示修改后的信息,并提示“修改成功!”。如图5所示。 图5 修改订单成功 (5)删除出行人 填写要删除的出行人姓名,执行删除操作,删除成功后给出提示“删除成功!”,如图6所示。如果输入姓名错误,则提示“对不起,定单中不包含此游客信息!”如图7所示。 图6 删除出行人成功 图7 删除出行人失败 (6)查看行程 显示本次旅行行程信息。运行效果如图8所示。 图8 查看行程 (7)退出系统 退出当前系统,显示“欢迎下次再来。”如图9所示。 三、要求与实现步骤 (一)不使用数据库,使用对象和集合存储数据 (二)定义实体类(成人订单、儿童订单、老人订单),儿童订单、老人订单为成人订单的子类。实体类至少包含但不局限于以上3个。 (三)在各实体类中均需实现各自计算订单价格、显示订单信息的方法,使用方法的重写。 (四)定义工具类,实现查看我的出行订单、添加订单、修改行程信息、删除出行人、查看行程等方法。需使用到对象传参。 (五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。 (六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。 (七)修改行程信息时,当手机号码录入错误时需使用throw手动抛出异常。 (八)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。
开发阳光旅行网app用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。 具体功能要求如下: (1)显示系统主菜单 包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。执行结果如图1所示。 图1 主菜单 (2)添加出行订单 填写出行日期、联系人手机号码、循环录入出行人信息。 出行人信息包括:  出行人类别:成人、儿童(1.2m以下)、老人(65岁以上)  姓名  年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”)  如果是儿童,需确定是否占床 每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。定价如下:  成人:2000元/人  儿童:免费,如需占床另加30元  老人:半价,即1000元/人 当一条出行人信息录入完毕后,提示“是否继续添加(Y/N)?”,此处不区分大小写,当输入y或Y时继续录入下一条,否则显示订单信息,包括:  出行日期  联系人手机号码  订单总金额(即所有出行人定单金额之和) 最后显示主菜单。执行效果如图2所示。 图2 添加出行订单 (3)查看我的出行订单信息 查看我的出行订单:查看所录入的订单信息。包括出行日期、联系人手机号码、所有出行人信息,运行效果如图3所示。 图3 查看我的出行订单 (4)修改行程信息 可修改出行日期、联系人手机号码,要求手机号码必须为11位,否则抛出异常信息,提示“手机号码必须为11位”,运行效果如果4所示。 图4 手机号码不是11位 正确修改后,显示修改后的信息,并提示“修改成功!”。如图5所示。 图5 修改订单成功 (5)删除出行人 填写要删除的出行人姓名,执行删除操作,删除成功后给出提示“删除成功!”,如图6所示。如果输入姓名错误,则提示“对不起,定单中不包含此游客信息!”如图7所示。 图6 删除出行人成功 图7 删除出行人失败 (6)查看行程 显示本次旅行行程信息。即读取“旅游行程.txt”文件(素材提供),显示在控制台。运行效果如图8所示。 图8 查看行程 (7)退出系统 退出当前系统,显示“欢迎下次再来。”如图9所示。 三、要求与实现步骤 (一)不使用数据库,使用对象和集合存储数据 (二)定义实体类(成人订单、儿童订单、老人订单),儿童订单、老人订单为成人订单的子类。实体类至少包含但不局限于以上3个。 (三)在各实体类中均需实现各自计算订单价格、显示订单信息的方法,使用方法的重写。 (四)定义工具类,实现查看我的出行订单、添加订单、修改行程信息、删除出行人、查看行程等方法。需使用到对象传参。 (五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。 (六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。 (七)修改行程信息时,当手机号码录入错误时需使用throw手动抛出异常。 (八)使用I/O技术实现文件的读取功能,将文本文件“行程信息.txt”中的内容显示到控制台。 (九)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值