问题如下:
写一个程序来实现面试日程安排。
以下是对面试计划程序的要求:
提示要求执行秘书输入第一次面试的时间,然后循环继续提示输入后续面试,然后循环继续提示输入后续面试时间。当秘书在下午5:00或之后输入时间时,输入终止循环执行pop()操作,直到队列为空。每次迭代都会输出约会开始的时间,以及主管进行面试的可用时间。当队列变空时,最后一次面试的时间是下午5:00的办公室关闭时间之间的差值最后一次面试之前的开始时间。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class TimeSchedule {
public static void main(String args[]) {
Queue TimeList = new LinkedList();
DateFormat df = new SimpleDateFormat("HH:mm");
df = DateFormat.getDateInstance(DateFormat.LONG);
boolean loopstoper = false;
try {
Date limit = df.parse("17:00");
Scanner scan = new Scanner(System.in);
String time = scan.nextLine();
Date date = df.parse(time);
while (loopstoper == false) {
if (date.before(limit)) {
TimeList.offer(date);
} else {
loopstoper = true;
while (TimeList.size() > 0) {
System.out.println("Time Schedule = " + TimeList.poll());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}请帮我检查一下我的工作是否正确,因为它不能在Netbean软件中运行?这个答案与这个问题相符吗?谢谢你的帮助。
发布于 2010-09-14 00:07:41
嗯,我复制了你的代码,然后马上运行了。
Date limit = df.parse("17:00");行生成错误,直到我注释掉
df = DateFormat.getDateInstance(DateFormat.LONG);线路。
接下来,我注意到你有一个格式不好的循环,你扫描数据,然后开始你的循环,但永远不再扫描数据-经典的无限循环。
先看看你能做些什么来解决这些问题。第一个错误是显而易见的,应该很容易被你发现--如果我要做你的工作,我应该为此获得报酬。
编辑
还有几个额外的评论。你必须使用LinkedList吗?时间可以打乱顺序吗,即上午11点,10点,下午2点进入?我怀疑您想要的是一个简单的可排序列表--一个简单的ArrayList就足够了。有没有一个持续时间参数-我可以进入上午11点01分然后11:01吗?相当短的采访;-)
发布于 2010-09-13 23:32:21
按原样编译和运行都很好吗?我唯一能看到你错过的就是主任在这次面试中的时间。我相信你的指示只是简单地说明了当前面试和下一次面试的开始时间之间的差异(除非这是一天中的最后一次面试,在这种情况下使用下午5点)。
https://stackoverflow.com/questions/3701839
复制相似问题