java面试题:酒店预订!

作者&投稿:纵朱 (若有异议请与网页底部的电邮联系)
如何用Java编写一个酒店管理的程序?实现预订,管理等~

才5分。。。我叫人帮我写个函数都100分。。。。你才5分做梦呢???

酒店类

package fdsa;

public class Hotel {
private String hotelID;
private String hotelName;
private String hoteladdess;
public String getHotelID() {
return hotelID;
}
public void setHotelID(String hotelID) {
this.hotelID = hotelID;
}
public String getHotelName() {
return hotelName;
}
public void setHotelName(String hotelName) {
this.hotelName = hotelName;
}
public String getHoteladdess() {
return hoteladdess;
}
public void setHoteladdess(String hoteladdess) {
this.hoteladdess = hoteladdess;
}
public String getHotelPhone() {
return hotelPhone;
}
public void setHotelPhone(String hotelPhone) {
this.hotelPhone = hotelPhone;
}
private String hotelPhone;
}

客户类
public class Client{
private String clientName;
private String clientID;
public String getClientName() {
return clientName;
}
public void setClientName(String clientName) {
this.clientName = clientName;
}
public String getClientID() {
return clientID;
}
public void setClientID(String clientID) {
this.clientID = clientID;
}
}

房间类
public class Room{
private String roomID;
private Hotel hotelID;
public String getRoomID() {
return roomID;
}
public void setRoomID(String roomID) {
this.roomID = roomID;
}
public Hotel getHotelID() {
return hotelID;
}
public void setHotelID(Hotel hotelID) {
this.hotelID = hotelID;
}
public String getRoomAmount() {
return roomAmount;
}
public void setRoomAmount(String roomAmount) {
this.roomAmount = roomAmount;
}
private String roomAmount;
}

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("七天");
}
}
我没怎么测试 自己测测吧 还有一些约束用户输入啥的 严谨性什么的

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();
}
}
}
本代码已经测试,准确可用!


学java能做什么工作
1、安卓Apps 如果你想知道Java应用在哪里,你离答案并不远。打开你的安卓手机或者任何的App,它们完全是用有着谷歌AndroidAPI的Java编程语言编写的,这个API和JDK非常相似。前几年安卓刚开始起步而到今日已经很多Java程序员是安卓App的开发者。2、在金融服务行业的服务器应用 Java在金融服务业有着很大应用。

面试官问我有没有java架构开发经验,java架构是什么?怎样才算是有架构...
J2SE:标准版开发(目前都叫,JAVASE)J2ME:小型版(目前都叫,JAVAME)J2EE:企业级开发(目前都叫,JAVAEE)现在me,和se基本看不到了!java ee 也是主流,为开发企业级环境应用程序提供解决的一套解决方案,这个技术体系会用到Servlet,Jsp等技术,主要针对Web开发。个人理解,架构就是解决问题的一系列方案,方...

Java培训的主要内容是什么?
课程的主要内容包括但不限于以下几个方面:1. Java基础:深入学习Java编程语言的基本概念、语法规则以及面向对象的思想。学员将了解Java的数据类型、运算符、流程控制、数组、字符串等基础知识,并通过实例演示加深理解。2. 面向对象编程:学习面向对象编程的原理和方法,掌握封装、继承、多态等重要特性的应用...

JAVA培训内容有哪些?
第一阶段:企业入门级项目阶段,可掌握Java核心基础、面向对象、JavaSE API、MySQL数据库、JDBS、HTML+CSS、Servlet、JSP、JavaScript等,可以完成常见中小型互联网项目开发,达到初级Java开发工程师能力。第二阶段企业框架级项目阶段是进阶阶段,增强Java基础、web基础、CSS\/JavaScript进阶、Maven项目管理、Spring...

java该怎么自学?
自学的困难就是,不知道该从哪里开始,才怎么学,没有一个系统的学习路径,现在黑马程序员最新上线了java学习路线图,非常好的解决了一个难题,可以去搜索看一下。 一、java基础 学习任何一门编程语言,首先要学习的是基础语法,开启Java学习的第一步,当然就是深入掌握计算机基础、编程基础语法,面向对象,集合、IO流、线程...

java的发展前景如何?
带大家了解一下Java真实的就业前景!1、Java程序员市场需求缺口大 近年中国在移动互联网这块发展非常迅猛,各种创业公司、小团队如雨后春笋般冒出来,对安卓开发、Java、Web的需求变大。但存在人才发展跟不上市场的需求的现状,相对应的给优秀Java人才开出的薪资待遇随之水涨船高。从第三方平台统计的数据...

学习java需要什么基础?
1、熟练掌握java的开发环境与编程核心知识;2、熟练运用java面向对象知识进行程序开发;3、对java的核心对象和组件有深入理解;4、熟练运用javaAPI相关知识;5、熟练应用java多线程技术;6、能综合运用所学知识完成一个项目。知识点:1、基本数据类型,运算符,数组,掌握基本数据类型转换,运算符,流程控制...

如何学好java语言啊?
三.面试技巧,面试是最重要的一部分,你是否能应聘成功取决你面试怎么样,面试官都是一些经验老道的,所以你回答他问题的时候要注意技巧,比如:当他问道你一个异常的时候的,你不会,但是你不要说不会,你可以说之前我遇到过,但是现在忘了,如果我遇到可以解决等等。当然了,如果你自己很NB,会很多...

富裕县18768141309: 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 ...

富裕县18768141309: 我想用JAVA做个网页式的酒店房间的预订系统.
良使诺维: 给你讲一套最简单的路子. 前台jsp、html 中间servlet 数据库mysql 开发工具Myeclipse. 一步一步来把.

富裕县18768141309: 我想用JAVA做个网页式的酒店房间的预订系统. -
良使诺维: 你要做网页如果做静态网页HTML就行 如果动态的 jsp 或者php , 还有后台数据库mysql 或者oracle或sqlsever等 ……软件的话推荐你用myeclipse8.5 或8.6的 比较稳定

富裕县18768141309: 去面试酒店预订员会问什么问题 -
良使诺维: 具体你问的问题我无法准确的回答你,面试所问的问题,我想这个应该根据每一个酒店的实际情况而问,这个没有一个问题模板,每一个酒店都不尽相同,所以你这个问题没有一个准确的答案.但是我想,作为一名酒店预订员掌握好下面的细节...

富裕县18768141309: 酒店预订员面试的问题 -
良使诺维: 五星级的酒店么,他肯定要问你一些你之前有没有在酒店里干过,干过什么行业,对于酒店客房还有预定有没了解;应该会要你的,酒店这个行业,应聘很容易的,一个预订员也不是什么高职位,可以的,勇敢去吧

富裕县18768141309: 酒店预订系统用什么语言开发比较好? -
良使诺维: 用JAVA,JSP等等,都需要的.一个酒店预订系统不简单的,需要大量的技术人员开发.你可以去差旅通198,看下他的酒店预订系统,开发得还不错.可以学习下.

富裕县18768141309: java中堆和栈的区别 面试题 -
良使诺维: Java 把内存划分成两种:一种是栈内存,另一种是堆内存.在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配. 当在一段代码块定义一个变量时,Java就在栈中为...

富裕县18768141309: java面试题目 -
良使诺维: string str=“abd24323dk3”; public static int convertToInt(string str) { stringBuffer stb=new StringBuffer(); for(int i=0;i<str.length();i++) {char c=str.charAt(i);if(c>9&& c<0) //获取到字符串中的所有的数字stb.append(c); } str=new String(stb); return Integer.valueOf(str); }

富裕县18768141309: JAVA面试题:3道题! -
良使诺维: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构中的堆是...

富裕县18768141309: 高星级酒店面试流程和面试题目 -
良使诺维: 第一轮面试通常都是自我介绍 之后的就可能会问你为什么会选择到这家酒店工作,对这家酒店的认识是怎样的. 你之前都做过些什么工作,如果也是做预订部的会问你做了多久了. 你认为预订部的工作职责是什么. (如果你看上去到了结婚的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网