📄 pizzadelivery2.java
字号:
class PizzaDelivery2 {
/* The Pizza Delivery Program version 2 J M Bishop May 2000
* ====================================
*
* Works out the time for delivering pizzas based on
* queue length and area of delivery.
*
* Illustrates the design of a Time class and the use of such
* objects in methods and for-loops.
*/
int driveTime = 5; // per area;
int makeTime = 5; // in a queue
int processTime = 10; // per order
PizzaDelivery2 () {
// Set the loop for one area only
for (int area = 1; area<= 1; area++) {
printHeading(area);
startTable();
Time open = new Time (9.00);
Time close = new Time (13,0);
for (Time ofDay = open; ofDay.lessThan(close);
ofDay.addTime(15)) {
printaLine(ofDay, area);
}
}
}
void printaLine (Time t, int a) {
Time ofDelivery;
System.out.print(t+"\t");
for (int queue = 0; queue <= 5; queue++) {
ofDelivery = new Time(t);
ofDelivery.addTime(queue*makeTime+processTime+a*driveTime);
System.out.print(ofDelivery + "\t");
}
System.out.println();
}
class Time {
int hour;
int min;
Time (int h, int m) {
hour = h;
min = m;
}
Time (int mins) {
hour = mins / 60;
min = mins % 60;
}
Time (double t) {
hour = (int) t;
min = (int) t*100 - hour*100;
}
Time (Time t) {
hour = t.hour;
min = t.min;
}
void addTime (int m) {
min +=m;
hour+= min / 60;
min %= 60;
}
boolean lessThan (Time t) {
return hour < t.hour | (hour==t.hour & min < t.min);
}
public String toString () {
return hour + ":" + min + " ";
}
}
void printHeading (int area) {
System.out.println("Pizza 2U Delivery estimates for "+
"Area "+area);
System.out.println("=================================="+
"=====\n");
}
void startTable() {
System.out.println("Time now Queue length");
System.out.print(" ");
for (int queue = 0; queue <=5; queue++)
System.out.print(" "+queue+" ");
System.out.println();
}
public static void main (String [] args) {
new PizzaDelivery2 ();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -