Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编写一个程序,从文件中读取时间表并打印到屏幕上?_Java_Arraylist - Fatal编程技术网

Java 编写一个程序,从文件中读取时间表并打印到屏幕上?

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/

保存为文本文档的初始格式: 表1:

所需格式应如下所示: 表2:

为什么输出没有打印出如图2所示的时间?这就是我到目前为止写的东西。我有一个从表1读取文本并将文本存储到arrayList的主类。上课时间以所需格式发送时间和小时数

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]);
}