Java 程序中没有输出

Java 程序中没有输出,java,Java,一组城市存储在一个对象中,对象由ArrayList结构排列 我正在尝试运行“列车时刻表”,即以下代码: import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.LinkedList; import java.util.ListIterator; import java.util.Scanner; public class TrainTimeTable { private Linke

一组城市存储在一个对象中,对象由ArrayList结构排列

我正在尝试运行“列车时刻表”,即以下代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.Scanner;

public class TrainTimeTable {
private LinkedList<Station> schedule;

public void delay(String station, int minutes) {
    boolean startDelay = false;
    ListIterator<Station> sIt = schedule.listIterator();
    while (sIt.hasNext()) {

        Station currStation = sIt.next();
        if (!startDelay && currStation.getCity().equals(station)) {
            startDelay = true;
        }
        if (startDelay) {
            currStation.delay(minutes);
        }
    }
}

public String getCities() {
    String cities = "";
    for (Station ast : schedule) {
        cities += ast.getCity() + "\n";
    }
    return cities;
}

public void displaySchedule() {
    System.out.printf("%16s\t%8s\t%8s\t%3s\n", "Station", "Arrival",
            "Departure", "Day");
    for (int i = 0; i < schedule.size(); i++) {
        schedule.get(i).displaySchedule();
    }
}

public TrainTimeTable(LinkedList<Station> schedule) {
    super();
    this.schedule = schedule;
}

public static void main(String[] args) throws ParseException {
    LinkedList<Station> schedule = new LinkedList<Station>();
    SimpleDateFormat sdf = new SimpleDateFormat("d HH:mm");
    schedule.add(new Station(null, sdf.parse("1 20:30"), "Vancouver"));
    schedule.add(new Station(sdf.parse("2 06:00"), sdf.parse("2 06:35"),
            "Kamloops"));
    schedule.add(new Station(sdf.parse("2 16:00"), sdf.parse("2 17:30"),
            "Jasper"));
    schedule.add(new Station(sdf.parse("2 23:00"), sdf.parse("2 23:59"),
            "Edmonton"));
    schedule.add(new Station(sdf.parse("3 08:00"), sdf.parse("3 08:25"),
            "Saskatoon"));
    schedule.add(new Station(sdf.parse("3 20:45"), sdf.parse("3 22:30"),
            "Winnipeg"));
    schedule.add(new Station(sdf.parse("4 05:02"), sdf.parse("4 05:42"),
            "Sioux Lookout"));
    schedule.add(new Station(sdf.parse("4 15:35"), sdf.parse("4 16:10"),
            "Hornepayne"));
    schedule.add(new Station(sdf.parse("5 00:18"), sdf.parse("5 00:48"),
            "Capreol"));
    schedule.add(new Station(sdf.parse("5 09:30"), null, "Toronto"));

    TrainTimeTable ttt = new TrainTimeTable(schedule);
    Scanner inp = new Scanner(System.in);
    String cmd = "";
    while (!cmd.equalsIgnoreCase("Quit")) {
        System.out.println("Please input command [Quit | Delay | Show]:");
        cmd = inp.next();
        if (cmd.equalsIgnoreCase("Show")) {
            ttt.displaySchedule();
        } else if (cmd.equalsIgnoreCase("Delay")) {
            System.out.println("Please input Station to delay:");
            String station = inp.next();
            System.out.println("Please input Minutes to delay:");
            int minutes = inp.nextInt();
            ttt.delay(station, minutes);
        }
    }
    inp.close();
}

}

我使用Netbeans作为IDE,没有显示出任何错误,但我不明白为什么它没有运行。我认为这是一个小问题,我正在仔细考虑。

如果您想在命令行中编译,在项目的根目录中,您可以使用:

javac -d bin -sourcepath src src/TrainTimeTable.java
我承认你把你的文件放在文件夹src里,你有一个文件夹bin

现在,您可以进入文件夹箱并运行

java TrainTimeTable
注1:src是包含所有*.java文件的文件夹


注2:bin或out或target是包含所有*.class文件的文件夹

启动调试器并逐步执行,然后返回报告。您是否在提示符处键入任何内容?它似乎对我有效。我让扫描仪很好地等待命令。可能您更改了类名或包名,而NetBean无法识别main。检查项目面板上使用的主类。@nicomp我启动了调试器,没有任何错误。我建议您使用IDE,而不是尝试在命令行编译
java TrainTimeTable