Java 程序中没有输出
一组城市存储在一个对象中,对象由ArrayList结构排列 我正在尝试运行“列车时刻表”,即以下代码: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
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