我的Java程序运行总是错误,于是就调试。
单步调试总是正确,TMD,这是咋回事?
求高人指点啊。

解决方案 »

  1.   

    for (int startTime = 1; startTime < lastTime; startTime++) {
    System.err.println("-----------------------------------Time "
    + startTime);
    if (inWorkSet.size() == 0 && state) {
    System.err.println("All is done.");
    break;
    }
    // 下面的for循环用于检查是否有船可靠泊
    for (Vessel vessel : list) {
    if (startTime == vessel.getArriveTime()) {
    int a;
    if ((a = findEnoughBerth(vessel.getLength())) >= 0) {
    vessel.setStartLocation(a);
    System.out.println("Vessel " + vessel.getIndex()
    + " is berthed started in " + a);
    System.out.println("Vessel " + vessel.getIndex()
    + " length is " + vessel.getLength());
    inWorkSet.add(vessel);
    state = true;
    currentVessel = vessel;
    berthAlloacte(vessel);
    } else {
    vessel.setArriveTime(vessel.getArriveTime() + 1);
    }
    } else {
    break;
    }
    }
    list.remove(currentVessel);
    // 下面的if是在此刻有船靠泊后为其执行。无新船靠泊就跳过
    if (currentVessel != null) {
    while (QCS_left > 0) {
    if (currentVessel.getQCs_allocated() < currentVessel
    .getMaxQCs()) {
    currentVessel.setQCs_allocated(currentVessel
    .getQCs_allocated() + 1);
    QCS_left--;
    } else {
    break;
    }
    }
    } // 给泊位中的每艘船作业
    Vessel doneVessel = null;
    for (Vessel vessel : inWorkSet) {
    System.out.println("Vessel " + vessel.getIndex() + " has QCs "
    + vessel.getQCs_allocated());
    vessel.setWorkAmount(vessel.getWorkAmount()
    - vessel.getQCs_allocated());
    System.out.println("Vessel " + vessel.getIndex()
    + " left work is " + vessel.getWorkAmount());
    if (vessel.getWorkAmount() <= 0) {
    System.err.println("Vessel " + vessel.getIndex()
    + " is done.");
    doneVessel = vessel;
    QCS_left += vessel.getQCs_allocated();
    unBerthShip(vessel);
    }
    }
    inWorkSet.remove(doneVessel);
    }
      

  2.   

    都是顺序执行的。Java也拼人品?咋搞呢。
      

  3.   

    好吧,既然要看完整的代码,就全贴出来。
    首先是个JavaBean
    public class Vessel {
    public Vessel() {
    } private int index;
    private int arriveTime;
    private int length;
    private int workAmount;
    private int minQCs;
    private int maxQCs;
    private int hopeTimeToLeave; private int QCs_allocated = 0;
    private int time_to_end = 24;
    private int startLocation = -1; public int getStartLocation() {
    return startLocation;
    } public void setStartLocation(int startLocation) {
    this.startLocation = startLocation;
    } public int getLength() {
    return length;
    } public void setLength(int length) {
    this.length = length;
    } public int getQCs_allocated() {
    return QCs_allocated;
    } public void setQCs_allocated(int qCs_allocated) {
    QCs_allocated = qCs_allocated;
    } public int getTime_to_end() {
    return time_to_end;
    } public void setTime_to_end(int time_to_end) {
    this.time_to_end = time_to_end;
    } /**
     * 船只信息
     * 
     * @param index
     *            船只编号
     * @param arriveTime
     *            到达时间
     * @param length
     *            船只长度
     * @param workAmount
     *            货物量
     * @param min
     *            工作时最少的桥吊数
     * @param max
     *            工作时最大的桥吊数
     * @param hope
     *            期望离港时间
     */
    public Vessel(int index, int arriveTime, int length, int workAmount,
    int min, int max, int hope) {
    this.index = index;
    this.arriveTime = arriveTime;
    this.length = length;
    this.workAmount = workAmount;
    this.maxQCs = max;
    this.minQCs = min;
    this.hopeTimeToLeave = hope;
    } public int getIndex() {
    return index;
    } public void setIndex(int index) {
    this.index = index;
    } public int getArriveTime() {
    return arriveTime;
    } public void setArriveTime(int arriveTime) {
    this.arriveTime = arriveTime;
    } public int getWorkAmount() {
    return workAmount;
    } public void setWorkAmount(int workAmount) {
    this.workAmount = workAmount;
    } public int getMinQCs() {
    return minQCs;
    } public void setMinQCs(int minQCs) {
    this.minQCs = minQCs;
    } public int getMaxQCs() {
    return maxQCs;
    } public void setMaxQCs(int maxQCs) {
    this.maxQCs = maxQCs;
    } public int getHopeTimeToLeave() {
    return hopeTimeToLeave;
    } public void setHopeTimeToLeave(int hopeTimeToLeave) {
    this.hopeTimeToLeave = hopeTimeToLeave;
    }}然后我业务代码:
    public class Allocation {
    private final int[] BERTH_LENGTH = new int[90];
    private final int QCS_AMOUNT = 8;
    private final int lastTime = 24; // private Vessel[] vessels = new Vessel[9];
    private int berth_left[];
    private int QCS_left;
    private List<Vessel> inWorkSet = new ArrayList<Vessel>();
    private List<Vessel> list; public static Vessel[] vessels0 = new Vessel[] {
    new Vessel(1, 1, 13, 25, 1, 5, 6),
    new Vessel(2, 3, 18, 8, 1, 2, 7),
    new Vessel(3, 5, 20, 12, 1, 4, 8),
    new Vessel(4, 6, 15, 18, 1, 3, 12),
    new Vessel(5, 9, 14, 16, 1, 4, 13),
    new Vessel(6, 10, 16, 10, 1, 2, 15),
    new Vessel(7, 10, 22, 30, 1, 6, 15),
    new Vessel(8, 12, 21, 18, 1, 3, 18),
    new Vessel(9, 15, 18, 24, 1, 6, 19) }; private Allocation initilization() {
    for (int i = 0; i < 90; i++) {
    BERTH_LENGTH[i] = 0;// 0 presents nothing
    }
    berth_left = BERTH_LENGTH;
    QCS_left = QCS_AMOUNT;
    return this;
    } private void allocate() {
    list = new ArrayList<Vessel>(Arrays.asList(vessels0));
    Vessel currentVessel = null;
    boolean state = false;
    for (int startTime = 1; startTime < lastTime; startTime++) {
    System.err.println("-----------------------------------Time "
    + startTime);
    if (inWorkSet.size() == 0 && state) {
    System.err.println("All is done.");
    break;
    }
    // 下面的for循环用于检查是否有船可靠泊
    for (Vessel vessel : list) {
    if (startTime == vessel.getArriveTime()) {
    int a;
    if ((a = findEnoughBerth(vessel.getLength())) >= 0) {
    vessel.setStartLocation(a);
    System.out.println("Vessel " + vessel.getIndex()
    + " is berthed started in " + a);
    System.out.println("Vessel " + vessel.getIndex()
    + " length is " + vessel.getLength());
    inWorkSet.add(vessel);
    state = true;
    currentVessel = vessel;
    berthAlloacte(vessel);
    } else {
    vessel.setArriveTime(vessel.getArriveTime() + 1);
    }
    } else {
    break;
    }
    }
    list.remove(currentVessel);
    // 下面的if是在此刻有船靠泊后为其执行。无新船靠泊就跳过
    if (currentVessel != null) {
    while (QCS_left > 0) {
    if (currentVessel.getQCs_allocated() < currentVessel
    .getMaxQCs()) {
    currentVessel.setQCs_allocated(currentVessel
    .getQCs_allocated() + 1);
    QCS_left--;
    } else {
    break;
    }
    }
    } // 给泊位中的每艘船作业
    Vessel doneVessel = null;
    for (Vessel vessel : inWorkSet) {
    System.out.println("Vessel " + vessel.getIndex() + " has QCs "
    + vessel.getQCs_allocated());
    vessel.setWorkAmount(vessel.getWorkAmount()
    - vessel.getQCs_allocated());
    System.out.println("Vessel " + vessel.getIndex()
    + " left work is " + vessel.getWorkAmount());
    if (vessel.getWorkAmount() <= 0) {
    System.err.println("Vessel " + vessel.getIndex()
    + " is done.");
    doneVessel = vessel;
    QCS_left += vessel.getQCs_allocated();
    unBerthShip(vessel);
    }
    }
    inWorkSet.remove(doneVessel);
    }
    } private int findEnoughBerth(int shipLength) {
    int find_ok = -1;
    boolean state = false;
    label: for (int i = 0; i < berth_left.length - shipLength && !state; i++) {
    if (berth_left[i] == 0) {
    for (int j = i; j < i + shipLength; j++) {
    if (berth_left[j] == 1) {
    i = j;
    continue label;
    }
    }
    find_ok = i;
    state = true;
    for (int j = i; j < i + shipLength; j++) {
    berth_left[j] = 1;
    }
    }
    }
    return find_ok;
    } private void berthAlloacte(Vessel vessel) {
    for (int i = vessel.getStartLocation(); i < vessel.getStartLocation()
    + vessel.getLength(); i++) {
    berth_left[i] = 1;
    }
    } private void unBerthShip(Vessel vessel) {
    for (int i = vessel.getStartLocation(); i < vessel.getStartLocation()
    + vessel.getLength(); i++) {
    berth_left[i] = 0;
    }
    } public static void main(String[] args) {
    Allocation allocation = new Allocation();
    allocation.initilization().allocate();
    }}
      

  4.   


    -----------------------------------Time 1
    -----------------------------------Time 2
    -----------------------------------Time 3

    Vessel 1 is berthed started in 0
    Vessel 1 length is 13
    Vessel 1 has QCs 5
    Vessel 1 left work is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 15
    Vessel 2 is berthed started in 13
    Vessel 2 length is 18
    Vessel 1 has QCs 5
    Vessel 1 left work is 10
    Vessel 2 has QCs 2
    Vessel 2 left work is 6
    Vessel 1 has QCs 5
    Vessel 1 left work is 5
    Vessel 2 has QCs 2
    Vessel 2 left work is 4
    -----------------------------------Time 4
    -----------------------------------Time 5

    Vessel 3 is berthed started in 31
    Vessel 3 length is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 0
    Vessel 2 has QCs 2
    Vessel 2 left work is 2
    Vessel 3 has QCs 1
    Vessel 3 left work is 11
    Vessel 4 is berthed started in 51
    Vessel 4 length is 15
    Vessel 2 has QCs 2
    Vessel 1 is done.
    -----------------------------------Time 6
    Vessel 2 left work is 0
    Vessel 2 is done.
    Vessel 3 has QCs 1
    Vessel 3 left work is 10
    Vessel 4 has QCs 3
    Vessel 4 left work is 15
    -----------------------------------Time 7
    Vessel 3 has QCs 1
    Vessel 3 left work is 9
    Vessel 4 has QCs 3
    -----------------------------------Time 8
    Vessel 4 left work is 12
    Vessel 3 has QCs 1
    Vessel 3 left work is 8
    Vessel 4 has QCs 3
    Vessel 4 left work is 9
    -----------------------------------Time 9
    -----------------------------------Time 10
    -----------------------------------Time 11

    Vessel 5 is berthed started in 0
    Vessel 5 length is 14
    Vessel 3 has QCs 1
    Vessel 3 left work is 7
    Vessel 4 has QCs 3
    Vessel 4 left work is 6
    Vessel 5 has QCs 4
    Vessel 5 left work is 12
    Vessel 6 is berthed started in 14
    Vessel 6 length is 16
    Vessel 7 is berthed started in 66
    Vessel 7 length is 22
    Vessel 3 has QCs 1
    Vessel 3 left work is 6
    Vessel 4 has QCs 3
    Vessel 4 left work is 3
    Vessel 5 has QCs 4
    Vessel 5 left work is 8
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1Vessel 4 is done.
    -----------------------------------Time 12
    Vessel 5 is done.
    -----------------------------------Time 13Vessel 3 left work is 5
    Vessel 4 has QCs 3
    Vessel 4 left work is 0
    Vessel 5 has QCs 4
    Vessel 5 left work is 4
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1
    Vessel 3 left work is 4
    Vessel 5 has QCs 4
    Vessel 5 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 3
    Vessel 7 left work is 27
    Vessel 3 has QCs 1
    Vessel 3 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 21
    -----------------------------------Time 14
    -----------------------------------Time 15
    -----------------------------------Time 16

    Vessel 3 is done.
    -----------------------------------Time 17
    Vessel 7 is done.
    -----------------------------------Time 18
    Vessel 3 has QCs 1
    Vessel 3 left work is 2
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 15
    Vessel 3 has QCs 1
    Vessel 3 left work is 1
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 9
    Vessel 3 has QCs 1
    Vessel 3 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is -3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0-----------------------------------Time 19Vessel 6 left work is 10
    -----------------------------------Time 20
    -----------------------------------Time 21
    -----------------------------------Time 22

    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    -----------------------------------Time 23
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
      

  5.   

    -----------------------------------Time 1
    -----------------------------------Time 2
    -----------------------------------Time 3
    Vessel 1 is berthed started in 0
    Vessel 1 length is 13
    Vessel 1 has QCs 5
    Vessel 1 left work is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 15
    Vessel 2 is berthed started in 13
    Vessel 2 length is 18
    Vessel 1 has QCs 5
    Vessel 1 left work is 10
    Vessel 2 has QCs 2
    Vessel 2 left work is 6
    Vessel 1 has QCs 5
    Vessel 1 left work is 5
    Vessel 2 has QCs 2
    Vessel 2 left work is 4
    -----------------------------------Time 4
    -----------------------------------Time 5
    Vessel 3 is berthed started in 31
    Vessel 3 length is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 0
    Vessel 2 has QCs 2
    Vessel 2 left work is 2
    Vessel 3 has QCs 1
    Vessel 3 left work is 11
    Vessel 4 is berthed started in 51
    Vessel 4 length is 15
    Vessel 2 has QCs 2
    Vessel 1 is done.
    -----------------------------------Time 6
    Vessel 2 left work is 0
    Vessel 2 is done.
    Vessel 3 has QCs 1
    Vessel 3 left work is 10
    Vessel 4 has QCs 3
    Vessel 4 left work is 15
    -----------------------------------Time 7
    Vessel 3 has QCs 1
    Vessel 3 left work is 9
    Vessel 4 has QCs 3
    -----------------------------------Time 8
    Vessel 4 left work is 12
    Vessel 3 has QCs 1
    Vessel 3 left work is 8
    Vessel 4 has QCs 3
    Vessel 4 left work is 9
    -----------------------------------Time 9
    -----------------------------------Time 10
    -----------------------------------Time 11
    Vessel 5 is berthed started in 0
    Vessel 5 length is 14
    Vessel 3 has QCs 1
    Vessel 3 left work is 7
    Vessel 4 has QCs 3
    Vessel 4 left work is 6
    Vessel 5 has QCs 4
    Vessel 5 left work is 12
    Vessel 6 is berthed started in 14
    Vessel 6 length is 16
    Vessel 7 is berthed started in 66
    Vessel 7 length is 22
    Vessel 3 has QCs 1
    Vessel 3 left work is 6
    Vessel 4 has QCs 3
    Vessel 4 left work is 3
    Vessel 5 has QCs 4
    Vessel 5 left work is 8
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1Vessel 4 is done.
    -----------------------------------Time 12
    Vessel 5 is done.
    -----------------------------------Time 13Vessel 3 left work is 5
    Vessel 4 has QCs 3
    Vessel 4 left work is 0
    Vessel 5 has QCs 4
    Vessel 5 left work is 4
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1
    Vessel 3 left work is 4
    Vessel 5 has QCs 4
    Vessel 5 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 3
    Vessel 7 left work is 27
    Vessel 3 has QCs 1
    Vessel 3 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 21
    -----------------------------------Time 14
    -----------------------------------Time 15
    -----------------------------------Time 16
    Vessel 3 is done.
    -----------------------------------Time 17
    Vessel 7 is done.
    -----------------------------------Time 18
    Vessel 3 has QCs 1
    Vessel 3 left work is 2
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 15
    Vessel 3 has QCs 1
    Vessel 3 left work is 1
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 9
    Vessel 3 has QCs 1
    Vessel 3 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is -3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0-----------------------------------Time 19Vessel 6 left work is 10
    -----------------------------------Time 20
    -----------------------------------Time 21
    -----------------------------------Time 22
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    -----------------------------------Time 23
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    结果就是这个样子的然后不知道楼主的问题是什么问题。
      

  6.   

    -----------------------------------Time 1
    -----------------------------------Time 2
    -----------------------------------Time 3
    -----------------------------------Time 4
    -----------------------------------Time 5
    Vessel 1 is done.
    -----------------------------------Time 6
    Vessel 2 is done.
    -----------------------------------Time 7
    -----------------------------------Time 8
    -----------------------------------Time 9
    Vessel 1 is berthed started in 0
    Vessel 1 length is 13
    Vessel 1 has QCs 5
    Vessel 1 left work is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 15
    Vessel 2 is berthed started in 13
    Vessel 2 length is 18
    Vessel 1 has QCs 5
    Vessel 1 left work is 10
    Vessel 2 has QCs 2
    Vessel 2 left work is 6
    Vessel 1 has QCs 5
    Vessel 1 left work is 5
    Vessel 2 has QCs 2
    Vessel 2 left work is 4
    Vessel 3 is berthed started in 31
    Vessel 3 length is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 0
    Vessel 2 has QCs 2
    Vessel 2 left work is 2
    Vessel 3 has QCs 1-----------------------------------Time 10
    -----------------------------------Time 11
    Vessel 4 is done.
    -----------------------------------Time 12
    Vessel 5 is done.
    -----------------------------------Time 13
    -----------------------------------Time 14
    -----------------------------------Time 15
    -----------------------------------Time 16
    Vessel 3 is done.
    -----------------------------------Time 17
    Vessel 7 is done.
    -----------------------------------Time 18
    -----------------------------------Time 19
    -----------------------------------Time 20
    -----------------------------------Time 21
    -----------------------------------Time 22
    -----------------------------------Time 23Vessel 3 left work is 11
    Vessel 4 is berthed started in 51
    Vessel 4 length is 15
    Vessel 2 has QCs 2
    Vessel 2 left work is 0
    Vessel 3 has QCs 1
    Vessel 3 left work is 10
    Vessel 4 has QCs 3
    Vessel 4 left work is 15
    Vessel 3 has QCs 1
    Vessel 3 left work is 9
    Vessel 4 has QCs 3
    Vessel 4 left work is 12
    Vessel 3 has QCs 1
    Vessel 3 left work is 8
    Vessel 4 has QCs 3
    Vessel 4 left work is 9
    Vessel 5 is berthed started in 0
    Vessel 5 length is 14
    Vessel 3 has QCs 1
    Vessel 3 left work is 7
    Vessel 4 has QCs 3
    Vessel 4 left work is 6
    Vessel 5 has QCs 4
    Vessel 5 left work is 12
    Vessel 6 is berthed started in 14
    Vessel 6 length is 16
    Vessel 7 is berthed started in 66
    Vessel 7 length is 22
    Vessel 3 has QCs 1
    Vessel 3 left work is 6
    Vessel 4 has QCs 3
    Vessel 4 left work is 3
    Vessel 5 has QCs 4
    Vessel 5 left work is 8
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1
    Vessel 3 left work is 5
    Vessel 4 has QCs 3
    Vessel 4 left work is 0
    Vessel 5 has QCs 4
    Vessel 5 left work is 4
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1
    Vessel 3 left work is 4
    Vessel 5 has QCs 4
    Vessel 5 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 3
    Vessel 7 left work is 27
    Vessel 3 has QCs 1
    Vessel 3 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 21
    Vessel 3 has QCs 1
    Vessel 3 left work is 2
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 15
    Vessel 3 has QCs 1
    Vessel 3 left work is 1
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 9
    Vessel 3 has QCs 1
    Vessel 3 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is -3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    这是我的运行结果。然后再运行一次-----------------------------------Time 1
    Vessel 1 is berthed started in 0
    Vessel 1 length is 13
    -----------------------------------Time 2
    Vessel 1 has QCs 5
    Vessel 1 left work is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 15
    -----------------------------------Time 3
    Vessel 2 is berthed started in 13
    Vessel 2 length is 18
    Vessel 1 has QCs 5
    Vessel 1 left work is 10
    Vessel 2 has QCs 2
    Vessel 2 left work is 6
    -----------------------------------Time 4
    Vessel 1 has QCs 5
    Vessel 1 left work is 5
    Vessel 2 has QCs 2
    Vessel 2 left work is 4
    -----------------------------------Time 5
    Vessel 3 is berthed started in 31
    Vessel 3 length is 20
    Vessel 1 has QCs 5
    Vessel 1 left work is 0
    Vessel 1 is done.
    Vessel 2 has QCs 2
    Vessel 2 left work is 2
    Vessel 3 has QCs 1
    Vessel 3 left work is 11
    -----------------------------------Time 6
    Vessel 4 is berthed started in 51
    Vessel 4 length is 15
    Vessel 2 has QCs 2
    Vessel 2 left work is 0
    Vessel 2 is done.
    Vessel 3 has QCs 1
    Vessel 3 left work is 10
    Vessel 4 has QCs 3
    Vessel 4 left work is 15
    -----------------------------------Time 7
    Vessel 3 has QCs 1
    Vessel 3 left work is 9
    Vessel 4 has QCs 3
    Vessel 4 left work is 12
    -----------------------------------Time 8
    Vessel 3 has QCs 1
    Vessel 3 left work is 8
    Vessel 4 has QCs 3
    Vessel 4 left work is 9-----------------------------------Time 9
    -----------------------------------Time 10
    -----------------------------------Time 11
    Vessel 4 is done.
    -----------------------------------Time 12
    Vessel 5 is done.
    -----------------------------------Time 13
    -----------------------------------Time 14
    -----------------------------------Time 15
    -----------------------------------Time 16
    Vessel 3 is done.
    -----------------------------------Time 17
    Vessel 7 is done.
    -----------------------------------Time 18
    -----------------------------------Time 19
    -----------------------------------Time 20
    -----------------------------------Time 21
    -----------------------------------Time 22
    -----------------------------------Time 23Vessel 5 is berthed started in 0
    Vessel 5 length is 14
    Vessel 3 has QCs 1
    Vessel 3 left work is 7
    Vessel 4 has QCs 3
    Vessel 4 left work is 6
    Vessel 5 has QCs 4
    Vessel 5 left work is 12
    Vessel 6 is berthed started in 14
    Vessel 6 length is 16
    Vessel 7 is berthed started in 66
    Vessel 7 length is 22
    Vessel 3 has QCs 1
    Vessel 3 left work is 6
    Vessel 4 has QCs 3
    Vessel 4 left work is 3
    Vessel 5 has QCs 4
    Vessel 5 left work is 8
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1
    Vessel 3 left work is 5
    Vessel 4 has QCs 3
    Vessel 4 left work is 0
    Vessel 5 has QCs 4
    Vessel 5 left work is 4
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 0
    Vessel 7 left work is 30
    Vessel 3 has QCs 1
    Vessel 3 left work is 4
    Vessel 5 has QCs 4
    Vessel 5 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 3
    Vessel 7 left work is 27
    Vessel 3 has QCs 1
    Vessel 3 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 21
    Vessel 3 has QCs 1
    Vessel 3 left work is 2
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 15
    Vessel 3 has QCs 1
    Vessel 3 left work is 1
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 9
    Vessel 3 has QCs 1
    Vessel 3 left work is 0
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is 3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 7 has QCs 6
    Vessel 7 left work is -3
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10
    Vessel 6 has QCs 0
    Vessel 6 left work is 10