java面试题:酒店预订!

sumPrice += Hotel.getDayPrice(hotelName,isMember,isWeekend);}return sumPrice;}//依次输入"如家"、"七天"、"汉庭"的总价,选出最优的那家public static String chooseHotel(int rujiaSumPrice,int qitianSumPrice,int hantingSumPrice){if(rujiaSumPrice
java面试题:酒店预订!
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("是否是会员?y/n");
String H = input.next();
System.out.println("请输入入住日期:");
System.out.println("例如2009-03-16");
String in = input.next();
System.out.println("请输离开日期:");
System.out.println("例如2009-03-16");
String out = input.next();
//String in = s.substring(5,15);
//String out = s.substring(15,26);
//System.out.println(in+" "+out);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
try {
c1.setTime(sdf.parse(in));
c2.setTime(sdf.parse(out));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long time1 = c1.getTimeInMillis();
long time2 = c2.getTimeInMillis();
long tian = (time2-time1)/(1000*24*3600);
long tian1 = tian;
System.out.println("tian "+tian);
int week1 = c1.get(Calendar.DAY_OF_WEEK)-1;
//System.out.println(week1);
//int week2 = c2.get(Calendar.DAY_OF_WEEK)-1;
//System.out.println(week2);
int count = 0;
while(tian1>0){
if(week1 == 6 || week1==0){
count++;
}
if(week1==6){
week1 = 0;
week1--;
}
tian1--;
week1++;
}
System.out.println("count "+count);
long rujia;
long qitian;
long hanting;
if(H.equals("y")){
rujia = (tian-count)*80+count*80;
System.out.println("tian "+tian);
qitian = (tian-count)*110+count*50;
hanting = (tian-count)*100+count*40;
}else{
rujia = (tian-count)*110+count*90;
qitian = (tian-count)*160+count*60;
hanting = (tian-count)*220+count*150;
}
System.out.println("tian " + tian);
System.out.println("rujia "+rujia);
System.out.println("hanting "+hanting);
System.out.println("qitian "+qitian);
if(rujia<qitian && rujia<hanting){
System.out.println("如家");
}else if(qitian<rujia && qitian<hanting){
System.out.println("七天");
}else if(hanting<rujia && hanting<qitian){
System.out.println("汉庭");
}else if(hanting==rujia || hanting==qitian){
System.out.println("汉庭");
}else if(qitian==rujia && qitian<hanting){
System.out.println("七天");
}
}
我没怎么测试 自己测测吧 还有一些约束用户输入啥的 严谨性什么的2016-08-15
package chooseHotel;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class Hotel {
String hotelName;
boolean isMember;
boolean isWeekend;
static int[][][] prices = {{{110,90},{80,80}},{{160,60},{110,50}},{{220,150},{100,40}}};
public Hotel(String hotelName,boolean isMember,boolean isWeekend) {
this.hotelName = hotelName;
this.isMember = isMember;
this.isWeekend = isWeekend;
}
//输入定酒店的参数(酒店名,是否会员,是否周末),返回该天的价格。
public static int getDayPrice(String hotelName,boolean isMember,boolean isWeekend){
int x=0,y=0,z=0;
int price;
if(hotelName.equals("如家")){x=0;}
if(hotelName.equals("七天")){x=1;}
if(hotelName.equals("汉庭")){x=2;}
if(isMember)y=1;
if(isWeekend)z=1;
price = prices[x][y][z];
return price;
}
//判断某一天是否是周末
public static boolean isWeekend(String StrDate) throws ParseException{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = simpleDateFormat.parse(StrDate);
if(date.toString().contains("Sat")||date.toString().contains("Sun"))return true;
return false;
}
//输出两个指定日期之间的所有日期
public static List<String> getAllDate(String StrStartDate,String StrEndDate) throws ParseException{
List<String> allDate = new ArrayList<String>();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = simpleDateFormat.parse(StrStartDate);
Date endDate = simpleDateFormat.parse(StrEndDate);

Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);

Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endDate);
do{
allDate.add(simpleDateFormat.format(startCalendar.getTime()));
startCalendar.add(Calendar.DAY_OF_MONTH, 1);
}while(startCalendar.compareTo(endCalendar)<=0);
return allDate;
}

//输入定酒店的参数(酒店名,是否会员,起始日期,终止日期),返回总价格。
public static int getSumPrice(String hotelName,boolean isMember,String StrStartDate,String StrEndDate) throws ParseException{
int sumPrice = 0;
List<String> allDate = Hotel.getAllDate(StrStartDate, StrEndDate);
boolean isWeekend;
for(String strDate:allDate){
isWeekend = Hotel.isWeekend(strDate);
sumPrice += Hotel.getDayPrice(hotelName,isMember,isWeekend);
}
return sumPrice;
}

//依次输入"如家"、"七天"、"汉庭"的总价,选出最优的那家
public static String chooseHotel(int rujiaSumPrice,int qitianSumPrice,int hantingSumPrice){
if(rujiaSumPrice<qitianSumPrice && rujiaSumPrice<hantingSumPrice){
return "如家";
}else if(qitianSumPrice<=rujiaSumPrice && qitianSumPrice < hantingSumPrice){
return "七天";
}else {
return "汉庭";
}
}

//根据样例输入,找最适合的酒店,样例为:普通顾客 2018-1-1 2018-1-7
public static String chooseHotelByCustomerInput(String customerInput) throws ParseException {
String[] split = customerInput.split(" ");
boolean isMember = split[0].contains("会员")?true:false;
String StrStartDate = split[1].trim();
String StrEndDate = split[2].trim();
String hotelName;
hotelName = "如家";
int rujiaSumPrice = Hotel.getSumPrice(hotelName, isMember, StrStartDate, StrEndDate);
hotelName = "七天";
int qitianSumPrice = Hotel.getSumPrice(hotelName, isMember, StrStartDate, StrEndDate);
hotelName = "汉庭";
int hantingSumPrice = Hotel.getSumPrice(hotelName, isMember, StrStartDate, StrEndDate);
return chooseHotel(rujiaSumPrice, qitianSumPrice, hantingSumPrice);
}

public static void main(String[] args) throws ParseException, IOException {
String customerInput = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
customerInput = br.readLine();
while(!customerInput.equals("over")){
System.out.println(Hotel.chooseHotelByCustomerInput(customerInput));
customerInput = br.readLine();
}
}
}
本代码已经测试,准确可用!2018-01-03
mengvlog 阅读 10 次 更新于 2025-07-19 06:20:30 我来答关注问题0
  • package chooseHotel;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;import java.util.Sc...

  •  宸辰游艺策划 在携程旅游在携程旅游门店工作怎么样

    如果是前端旅游线路的运营方,酒店有航空部的对接人员,也就是说是轮班制。除了春节,其他时间都有工作人员上班,这是行业性质和工作性质决定的。4.携程酒店部门怎么样携程是一家在线票务服务公司,成立于1999年,总部位于中国上海。Ctrip.com拥有超过60万家海内外会员酒店可供预订,是中国领先的酒店预订服...

  •  湖北倍领科技 亮剑Java Web项目开发案例导航(含DVD光盘1张)目录

    第4章A10酒店预订管理系统:通过JSF、Spring、Oracle技术构建,总代码量6700行,专为酒店行业设计,提供高效、智能化的预订服务。第5章远洋网络购物广场商务系统:此系统采用JSP、Servlet、JavaBean、MySQL技术,总代码量5700行,旨在打造一个功能全面的购物平台。第6章时讯科技人事管理系统:运用Struts2、SQL ...

  •  释然冰晶 本人小白一个,专业电子信息工程没学过java,毕设要做一个基于Android的app开发,求几个比较简单的题目

    如果是想毕业的时候去当程序员, 那就把基础打好, 各个框架都用熟练, 题目的话可以用xxxx管理系统,尽量创新一点, 比如今年流行垃圾分类, 那就可以写个垃圾分类管理系统, 本质上是没有啥区别的, 安卓就更简单, 比如可以做一个记账app之类的 不就是数据库的操作嘛,最常见的像什么图书管理系统,酒店...

  •  翠丰巴安和 应聘澳门酒店服务生英文简历怎么写

    Win 95/NT, Sun, Javabeans, HTML, CGI, JavaScript, Perl, Visual Interdev, Distributed Objects, CORBA, C, C++, Project 98, Office 97, Rational RequisitePro, Process,Pascal, PL/I and SQL softwareEnglish SkillsHave a good command of both spoken and written English .Past CET-6, T...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部