Java 编写一个程序,从文件中读取时间表并打印到屏幕上?
保存为文本文档的初始格式: 表1: 所需格式应如下所示: 表2: 为什么输出没有打印出如图2所示的时间?这就是我到目前为止写的东西。我有一个从表1读取文本并将文本存储到arrayList的主类。上课时间以所需格式发送时间和小时数Java 编写一个程序,从文件中读取时间表并打印到屏幕上?,java,arraylist,Java,Arraylist,保存为文本文档的初始格式: 表1: 所需格式应如下所示: 表2: 为什么输出没有打印出如图2所示的时间?这就是我到目前为止写的东西。我有一个从表1读取文本并将文本存储到arrayList的主类。上课时间以所需格式发送时间和小时数 public static void main(String[] args) { Scanner scanner = null; try { File file = new File("C:/Users/Tommy/
public static void main(String[] args) {
Scanner scanner = null;
try {
File file = new File("C:/Users/Tommy/workspace/Prov/SLtid.txt");
scanner = new Scanner(file);
while(scanner.hasNextLine()){
String[] tokens = scanner.nextLine().split("\\s+");
for (int i= 0; i< tokens.length; i++)
{
Time t = new Time(tokens[i], tokens[i].substring(01));
// new time ( hour, minute )
System.out.println(t);
}
}} catch (Exception e) {
e.printStackTrace();
}}}
这一行:
Time t = new Time(tokens[i], tokens[i].substring(01));
未向时间构造函数提交正确的参数。从您的输入来看,小时似乎总是第一个标记,但您并没有以这种方式提交它,因此您最终将提交分钟而不是小时。尝试:
for (int i= 1; i < tokens.length; i++) {
Time t = new Time(tokens[0], tokens[i]);
}
for(int i=1;i
或者类似的东西。格式仍然错误!
public class Time {
int hr;
int minute;
Time(String t, String m){
hr = Integer.parseInt(t);
minute = Integer.parseInt(m);
}
public String toString(){
return String.format("%02d:%02d", hr, minute);
}}
Time t = new Time(tokens[i], tokens[i].substring(01));
for (int i= 1; i < tokens.length; i++) {
Time t = new Time(tokens[0], tokens[i]);
}