简体   繁体   English

为什么我的程序不打印 txt 文件输入?

[英]Why does my program not print txt file inputs?

Here is the output that I am getting:这是我得到的 output:

这是我得到的输出

This code is supposed to read the text file and print all instances where the CPM is with 5 measurements of the Top CPM.此代码应该读取文本文件并打印 CPM 为 5 次 Top CPM 测量值的所有实例。 The code uses a separate class to format (.getDateTime &.getCountsPerMinute) For some reason, the code doesn't print the formatted text file.该代码使用单独的 class 来格式化 (.getDateTime &.getCountsPerMinute) 出于某种原因,该代码不会打印格式化的文本文件。 I have been messing with it all day and cannot seem to figure out where I'm going wrong.我整天都在搞砸它,似乎无法弄清楚我哪里出错了。 Any pointers or help would be appreciated.任何指示或帮助将不胜感激。

import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
import java.io.File;

public class geiger {
    public static final int COUNT_WINDOW = 5;
    public static void main(String[] args) throws Exception {
        try {
            Scanner sc = new Scanner(new File("7_14_2019.txt"));
            ArrayList<RadiationSample> samples = new ArrayList<RadiationSample>();
            String lineSeparator = System.getProperty("line.separator");
            sc.useDelimiter(lineSeparator);
            String dataLineTag = ".*Every Minute.*";
            int maxCounts = 0;
            while (sc.hasNext()) {
                String line = sc.next();
                if (line.matches(dataLineTag)) {
                    String[] parsed = line.split(",");
                    String dateTime = parsed[0];
                    int counts = Integer.parseInt(parsed[2]);
                    RadiationSample sample = new RadiationSample(dateTime, counts);
                    samples.add(sample);
                    if (counts > maxCounts) maxCounts = counts;
                }
            }
            System.out.println("    Date    Time    Counts Per Minute");
            for (int i = 0; i < samples.size(); i++) {
                if (samples.get(i).getCountsPerMinute() >= maxCounts - COUNT_WINDOW) {
                    System.out.println(samples.get(i).getDateTime()
                            + "             " + samples.get(i).getCountsPerMinute());
                }
            }
            sc.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

separate class分离 class

public class RadiationSample {
    private String dateTime;
    private int countsPerMinute;

    public RadiationSample(String dt, int counts) {
        dateTime = dt;
        countsPerMinute = counts;
    }

    public String getDateTime() {
        return dateTime;
    }

    public int getCountsPerMinute() {
        return countsPerMinute;
    }

    public static void main(String[] args) {
        RadiationSample sample = new RadiationSample("4/6/2018 17:15", 17);
        System.out.println("Date and Time : " + sample.getDateTime() +
                "\nCounts Per Minute: " + sample.getCountsPerMinute());
    }
}

Text File文本文件

GQ Electronics LLC, GMC Data Viewer,Version 2.40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Date Time,uSv/h,CPM,#1,#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25,#26,#27,#28,#29,#30,#31,#32,#33,#34,#35,#36,#37,#38,#39,#40,#41,#42,#43,#44,#45,#46,#47,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#58,#59,#60
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
FEDERAL-WAY,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:13,Every Minute,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:14,Every Minute,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:15,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:16,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:17,Every Minute,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:18,Every Minute,23,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:19,Every Minute,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:20,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:21,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:22,Every Minute,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:23,Every Minute,22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:24,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:25,Every Minute,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:26,Every Minute,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:27,Every Minute,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:28,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:29,Every Minute,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:30,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:31,Every Minute,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:32,Every Minute,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:33,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:34,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:35,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:36,Every Minute,21,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:37,Every Minute,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:38,Every Minute,23,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:39,Every Minute,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:40,Every Minute,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:41,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:42,Every Minute,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
FEDERAL-WAY,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:45,Every Minute,25,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:46,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:47,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:48,Every Minute,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:49,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:50,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:51,Every Minute,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:52,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:53,Every Minute,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:54,Every Minute,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:55,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:56,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:57,Every Minute,22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:58,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 17:59,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:00,Every Minute,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:01,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:02,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:03,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:04,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:05,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:06,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:07,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:08,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:09,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:10,Every Minute,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:11,Every Minute,22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:12,Every Minute,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:13,Every Minute,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:14,Every Minute,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:15,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:16,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:17,Every Minute,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:18,Every Minute,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:19,Every Minute,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:20,Every Minute,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:21,Every Minute,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:22,Every Minute,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:23,Every Minute,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:24,Every Minute,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:25,Every Minute,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:26,Every Minute,21,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:27,Every Minute,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4/6/2018 18:28,Every Minute,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

The issue seems to be that your text file is stored as one line.问题似乎是您的文本文件存储为一行。 So the first step would have to be to read this file and split it into separate lines.因此,第一步必须是读取此文件并将其拆分为单独的行。 I have made some changes which seem to work.我做了一些似乎有效的改变。

import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
import java.io.File;

public class geiger {
    public static final int COUNT_WINDOW = 5;
    public static void main(String[] args) throws Exception {
        try {
            Scanner sc = new Scanner(new File("7_14_2019.txt"));
            ArrayList<RadiationSample> samples = new ArrayList<RadiationSample>();
            String lineSeparator = System.getProperty("line.separator");
            sc.useDelimiter(lineSeparator);
            String dataLineTag = ".*Every Minute.*";
            int maxCounts = 0;
            String[] file = sc.next().split(", ");
            int iter = 0, end = file.length;
            while (iter < end) {
                String line = file[iter];
                if (line.matches(dataLineTag)) {
                    String[] parsed = line.split(",");
                    String dateTime = parsed[0];
                    int counts = Integer.parseInt(parsed[2]);
                    RadiationSample sample = new RadiationSample(dateTime, counts);
                    samples.add(sample);
                    if (counts > maxCounts) maxCounts = counts;
                }
                iter++;
            }
            System.out.println("    Date    Time    Counts Per Minute");
            for (int i = 0; i < samples.size(); i++) {
                if (samples.get(i).getCountsPerMinute() >= maxCounts - COUNT_WINDOW) {
                    System.out.println(samples.get(i).getDateTime()
                            + "             " + samples.get(i).getCountsPerMinute());
                }
            }
            sc.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

程序输出

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM