⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pizzadelivery2.java

📁 Java经典例程 从外国一大学计算机教授出版物下载的代码 经典
💻 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 + -