Java 从文件文本读取数组列表。(循环,当天和第一天/最后一天高温的格式)

Java 从文件文本读取数组列表。(循环,当天和第一天/最后一天高温的格式),java,arrays,loops,simpledateformat,Java,Arrays,Loops,Simpledateformat,这是我这周的家庭作业。 ---他们需要: Name: Eric Hornberger Hometown: Columbus,Nebraska Birthdate: 18 February 1960 Location: Columbus Date AvgTemp MaxTemp MinTemp AvgSnow MaxSnow MinSnow AvgPrec MaxPrec MinPrec August 2015 71.42 96 46 0.0 0.0

这是我这周的家庭作业。 ---他们需要:

Name: Eric Hornberger
Hometown: Columbus,Nebraska
Birthdate: 18 February 1960
Location: Columbus
Date        AvgTemp MaxTemp MinTemp AvgSnow MaxSnow MinSnow AvgPrec MaxPrec MinPrec
August 2015 71.42   96      46      0.0     0.0     0.0    0.12     1.72    0.0
August 2014 76.06   96      51      0.0     0.0     0.0    0.24    2.66     0.0
August 2013 76.11   100     52      0.0     0.0     0.0    0.04    0.69     0.0
August 2012 74.45   103     44      0.0     0.0     0.0    0.01    0.13     0.0
August 2011 75.55   104     55      0.0     0.0     0.0    0.22     2.62    0.0
August 2010 78.11   100     52      0.0     0.0     0.0    0.09    0.84     0.0
August 2009 72.31   102     42      0.0     0.0     0.0    0.1      1.06    0.0
August 2008 75.42   102     50      0.0     0.0     0.0    0.06     0.46    0.0
August 2007 79.47   100     56      0.0     0.0     0.0     0.19    1.34    0.0
August 2006 75.68   105     52      0.0     0.0      0.0    0.13    1.71    0.0
For the past 10 years:
Average Temp:   75.46
Average Snow:   0.0
Average Precip: 0.12
Hottest August: 2006
Year    FirstHotDay     LastHotDay
2015    -       -
2014    -           -
2013    30 August   30 August
2012    01 August   30 August
2011    01 August   01 August
2010    12 August   12 August
2009    08 August   08 August
2008    03 August   03 August
2007    13 August   13 August
2006    01 August   09 August
这是我的工作,我现在卡住了,请帮帮我。我不知道如何更改文件.txt“20150822”中的日期。我的输出显示了错误的数字。 我怎样才能找到FirstHotDay和LastHotDay

import java.util.Scanner;
import java.io.FileNotFoundException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.io.*;
import java.util.ArrayList;
import java.util.Date;

public class ClimateSummary {


    public static void main (String [] args) throws FileNotFoundException {

        File file = new File("dataB.txt");
        Scanner scan = new Scanner(file);
        String firstN = scan.next();
        String lastN = scan.next();
    System.out.println("Name: " + firstN + (" ") + lastN);

    String city = scan.next();
    String state = scan.next();

    System.out.println("Hometown: " + city + (" ") + state);

    String day = scan.next();
    String month = scan.next();
    String year = scan.next();

    System.out.println("Birthdate: " + day + (" ") + month + (" ") + year);

    String location = scan.next();
    System.out.println("Location: " + location);

    System.out.println("Date" + "           " + "AvgTemp"
            +"  " + "MaxTemp" + "  " + "MinTemp" + "  " + "AvgSnow"
            + "  " + "MaxSnow" + "  " + "MinSnow" + "  "
            + "AvgPrec" + "  " + "MaxPrec" + "  " + "MinPrec");


    int[] stationNum = new int[310];
    String[] dataYear = new String[310];
    int[] highTemp = new int[310];
    int[] lowTemp = new int[310];
    int[] snowFall = new int[310];
    double[] prec = new double[310];


    double[] highLowTemp = new double[310];
    double totalTemp15 = 0.0;
    double totalTemp14 = 0.0;
    double totalTemp13 = 0.0;
    double totalTemp12 = 0.0;
    double totalTemp11 = 0.0;
    double totalTemp10 = 0.0;
    double totalTemp9 = 0.0;
    double totalTemp8 = 0.0;
    double totalTemp7 = 0.0;
    double totalTemp6 = 0.0;
String y2015;
int highestT15 = 0;
int lowestT15 = 0;
double avgsnow15 = 0.0;
double avgpre2015 = 0.0;
double avgT15 = 0.0;

 int i;
    for(i = 0; i < stationNum.length ;++i){
    stationNum[i] = scan.nextInt();
    dataYear[i] = scan.next();
    highTemp[i] = scan.nextInt();
    lowTemp[i] = scan.nextInt();
    snowFall[i] = scan.nextInt();
    prec[i] = scan.nextDouble();
    //2015
    if(i < 31) {
        y2015 = dataYear[i];
        totalTemp15 += (highTemp[i] + lowTemp[i]); 
        avgT15 +=totalTemp15;
        avgT15 /= (highTemp.length + lowTemp.length) * 1.0;
        if(totalTemp15 > highestT15)
        {
            totalTemp15 = highestT15;
            }
        if(totalTemp15 < lowestT15)
        {
            totalTemp15 = lowestT15;        
            }
        double maxSnow15 = 0.0;
        if(snowFall[i] > maxSnow15 ){ 
            maxSnow15 = snowFall[i];
        }
        double minSnow15 = 0.0;
        if(snowFall[i] < minSnow15){
            minSnow15 = snowFall[i];

        avgsnow15 += snowFall[i];
        avgsnow15 += snowFall.length * 1.0;
        }
        double maxPr15 = 0.0;
        if (prec[i] > maxPr15 ){
            maxPr15 = prec[i];}
        double minPr15 = 0.0;
        if(prec[i] < minPr15 ) { 
            minPr15 = prec[i];

        avgpre2015 += prec[i];
        avgpre2015 += prec.length * 1.0;

    System.out.println(y2015 + "   " + avgT15 + " "+ highestT15 + "    "+lowestT15 +"    " + avgsnow15 + "    " 
        +maxSnow15 + "    " + minSnow15 + "    "+ avgpre2015 + "    " + maxPr15 + "    " + minPr15 );
        }
    //2014
    else if (i > 30 && i < 62) {
        String y2014 = dataYear[i];
        totalTemp14 += (highTemp[i] + lowTemp[i]); 
        double avgT14 = totalTemp14;
        avgT14 /= (highTemp.length + lowTemp.length) * 1.0;
        double highestT14 = 0.0;
        double lowestT14 = 0.0;
        if(totalTemp14 > highestT14)
        {
            totalTemp14 = highestT14;
            }
        if(totalTemp14 < lowestT14)
        {
            totalTemp14 = lowestT14;        
            }
        double maxSnow14 = 0.0;
        if(snowFall[i] > maxSnow14 ){ 
            maxSnow14 = snowFall[i];
        }
        double minSnow14 = 0.0;
        double avgsnow14 = 0.0;
        if(snowFall[i] < minSnow14){
            minSnow14 = snowFall[i];

        avgsnow14 += snowFall[i];
        avgsnow14 += snowFall.length * 1.0;

        double maxPr14 = 0.0;
        if (prec[i] > maxPr14 ){
            maxPr14 = prec[i];}
        double minPr14 = 0.0;
        if(prec[i] < minPr14 ) { 
            minPr14 = prec[i];
            double avgpre2014 = 0.0;
        avgpre2014 += prec[i];
        avgpre2014 += prec.length * 1.0;

    System.out.println(y2014 + "   " + avgT14 + " "+ highestT14 + "    "+lowestT14 +"    " + avgsnow14 + "    " 
        +maxSnow14 + "    " + minSnow14 + "    "+ avgpre2014 + "    " + maxPr14 + "    " + minPr14 );
        }
    //2013
    else if (i > 61 && i < 93) {
        String y2013 = dataYear[i];
        totalTemp13 += (highTemp[i] + lowTemp[i]); 
        double avgT13 = totalTemp13;
        avgT13 /= (highTemp.length + lowTemp.length) * 1.0;
        double highestT13 =0.0;
        double lowestT13=0.0;
        if(totalTemp13 > highestT13){
            totalTemp13 = highestT13;}
        if(totalTemp13 < lowestT13){
            totalTemp13 = lowestT13;        }
        double maxSnow13 = 0.0;
        if(snowFall[i] > maxSnow13 ){ 
            maxSnow13 = snowFall[i];
        }
        double minSnow13 = 0.0;
        double avgsnow13 = 0.0;
        if(snowFall[i] < minSnow13){
            minSnow13 = snowFall[i];

        avgsnow13 += snowFall[i];
        avgsnow13 += snowFall.length * 1.0;

        double maxPr13 = 0.0;
        if (prec[i] > maxPr14 ){
            maxPr13 = prec[i];}
        double minPr13 = 0.0;
        if(prec[i] < minPr13 ) { 
            minPr13 = prec[i];
            double avgpre2013 = 0.0;
        avgpre2013 += prec[i];
        avgpre2013 += prec.length * 1.0;

    System.out.println(y2013 + "   " + avgT13 + " "+ highestT13 + "    "+lowestT13 +"    " + avgsnow13 + "    " 
        +maxSnow13 + "    " + minSnow13 + "    "+ avgpre2013 + "    " + maxPr13 + "    " + minPr13 );
        }
    //2012
    else if (i > 92 && i < 124) {
        String y2012 = dataYear[i];
        totalTemp12 += (highTemp[i] + lowTemp[i]); 
        double avgT12 = totalTemp12;
        avgT12 /= (highTemp.length + lowTemp.length) * 1.0;
        double highestT12 = 0.0;
        double lowestT12 = 0.0;
        if(totalTemp12 > highestT12)
        {
            totalTemp12 = highestT12;
            }
        if(totalTemp12 < lowestT12)

        {
            totalTemp12 = lowestT12;        }
        double maxSnow12 = 0.0;
        if(snowFall[i] > maxSnow12 ){ 
            maxSnow12 = snowFall[i];
        }
        double minSnow12 = 0.0;
        double avgsnow12 = 0.0;
        if(snowFall[i] < minSnow12){
            minSnow12 = snowFall[i];

        avgsnow12 += snowFall[i];
        avgsnow12 += snowFall.length * 1.0;
        }
        double maxPr12 = 0.0;
        if (prec[i] > maxPr12 ){
            maxPr14 = prec[i];}
        double minPr12 = 0.0;
        if(prec[i] < minPr12 ) { 
            minPr12 = prec[i];
            double avgpre2012 = 0.0;
        avgpre2012 += prec[i];
        avgpre2012 += prec.length * 1.0;

    System.out.println(y2012 + "   " + avgT12 + " "+ highestT12 + "    "+lowestT12 +"    " + avgsnow12 + "    " 
        +maxSnow12 + "    " + minSnow12 + "    "+ avgpre2012 + "    " + maxPr12 + "    " + minPr12 );
        }
    //2011
    else if (i > 123 && i < 155) {
        String y2011 = dataYear[i];
        totalTemp11 += (highTemp[i] + lowTemp[i]); 
        double avgT11 = totalTemp11;
        avgT11 /= (highTemp.length + lowTemp.length) * 1.0;
        double highestT11 = 0.0;
        double lowestT11 = 0.0;
        if(totalTemp11 > highestT11)
        {
            totalTemp11 = highestT11;
            }
        if(totalTemp11 < lowestT11){
            totalTemp11 = lowestT11;
            }
        double maxSnow11 = 0.0;
        if(snowFall[i] > maxSnow11 ){ 
            maxSnow11 = snowFall[i];
        }
        double minSnow11 = 0.0;
        double avgsnow11 = 0.0;
        if(snowFall[i] < minSnow11){
            minSnow11 = snowFall[i];

        avgsnow11 += snowFall[i];
        avgsnow11 += snowFall.length * 1.0;
        }
        double maxPr11 = 0.0;
        if (prec[i] > maxPr11 ){
            maxPr11 = prec[i];}
        double minPr11 = 0.0;
        if(prec[i] < minPr11 ) { 
            minPr11 = prec[i];
            double avgpre2011 = 0.0;
        avgpre2011 += prec[i];
        avgpre2011 += prec.length * 1.0;

    System.out.println(y2011 + "   " + avgT11 + " "+ highestT11 + "    "+lowestT11 +"    " + avgsnow11 + "    " 
        +maxSnow11 + "    " + minSnow11 + "    "+ avgpre2011 + "    " + maxPr11 + "    " + minPr11 );
        }
    //2010
    else if (i > 154 && i < 186) {
            String y2010 = dataYear[i];
            totalTemp10 += (highTemp[i] + lowTemp[i]); 
            double avgT10 = totalTemp10;
            avgT10 /= (highTemp.length + lowTemp.length) * 1.0;
            double highestT10 = 0.0;
            double lowestT10 = 0.0;
            if(totalTemp10 > highestT10){
                totalTemp10 = highestT10;}
            if(totalTemp10 < lowestT10){
                totalTemp10 = lowestT10;
                }
            double maxSnow10 = 0.0;
            if(snowFall[i] > maxSnow10 ){ 
                maxSnow10 = snowFall[i];
            }
            double minSnow10 = 0.0;
            double avgsnow10 = 0.0;
            if(snowFall[i] < minSnow10){
                minSnow10 = snowFall[i];

            avgsnow10 += snowFall[i];
            avgsnow10 += snowFall.length * 1.0;
            }
            double maxPr10 = 0.0;
            if (prec[i] > maxPr10 ){
                maxPr10 = prec[i];}
            double minPr10 = 0.0;
            if(prec[i] < minPr10 ) { 
                minPr10 = prec[i];
                double avgpre2010 = 0.0;
            avgpre2010 += prec[i];
            avgpre2010 += prec.length * 1.0;

        System.out.println(y2010 + "   " + avgT10 + " "+ highestT10 + "    "+lowestT10 +"    " + avgsnow10 + "    " 
            +maxSnow10 + "    " + minSnow10 + "    "+ avgpre2010 + "    " + maxPr10 + "    " + minPr10 );
            }
    //2009
    else if (i > 185 && i < 217) {
        String y2009 = dataYear[i];
        totalTemp9 += (highTemp[i] + lowTemp[i]); 
        double avgT9 = totalTemp9;
        avgT9 /= (highTemp.length + lowTemp.length) * 1.0;
        double highestT9 = 0.0;
        double lowestT9 = 0.0;
        if(totalTemp9 > highestT9){
            totalTemp9 = highestT9;}
        if(totalTemp9 < lowestT9){
            totalTemp9 = lowestT9;
            }
        double maxSnow9 = 0.0;
        if(snowFall[i] > maxSnow9 ){ 
            maxSnow9 = snowFall[i];
        }
        double minSnow9 = 0.0;
        double avgsnow9 = 0.0;
        if(snowFall[i] < minSnow9){
            minSnow9 = snowFall[i];
        avgsnow9 += snowFall[i];
        avgsnow9 += snowFall.length * 1.0;
        }
        double maxPr9 = 0.0;
        if (prec[i] > maxPr9 ){
            maxPr9 = prec[i];}
        double minPr9 = 0.0;
        if(prec[i] < minPr9 ) { 
            minPr9 = prec[i];
            double avgpre2009 = 0.0;
        avgpre2009 += prec[i];
        avgpre2009 += prec.length * 1.0;

    System.out.println(y2009 + "   " + avgT9 + " "+ highestT9 + "    "+lowestT9 +"    " + avgsnow9 + "    " 
        +maxSnow9 + "    " + minSnow9 + "    "+ avgpre2009 + "    " + maxPr9 + "    " + minPr9 );
        }
    //2008
    else if (i > 216 && i < 248) {
        String y2008 = dataYear[i];
        totalTemp8 += (highTemp[i] + lowTemp[i]); 
        double avgT8 = totalTemp8;
        avgT8 /= (highTemp.length + lowTemp.length) * 1.0;
        double highestT8 = 0.0;
        double lowestT8 = 0.0;
        if(totalTemp8 > highestT8){
            totalTemp8 = highestT8;}
        if(totalTemp8 < lowestT8){
            totalTemp8 = lowestT8;      
            }
        double maxSnow8 = 0.0;
        if(snowFall[i] > maxSnow8 ){ 
            maxSnow8 = snowFall[i];
        }
        double minSnow8 = 0.0;
        double avgsnow8 = 0.0;
        if(snowFall[i] < minSnow8){
            minSnow8 = snowFall[i];

        avgsnow8 += snowFall[i];
        avgsnow8 += snowFall.length * 1.0;
        }
        double maxPr8 = 0.0;
        if (prec[i] > maxPr8 ){
            maxPr8 = prec[i];}
        double minPr8 = 0.0;
        if(prec[i] < minPr8 ) { 
            minPr8 = prec[i];
            double avgpre2008 = 0.0;
        avgpre2008 += prec[i];
        avgpre2008 += prec.length * 1.0;

    System.out.println(y2008 + "   " + avgT8 + " "+ highestT8 + "    "+lowestT8 +"    " + avgsnow8 + "    " 
        +maxSnow8 + "    " + minSnow8 + "    "+ avgpre2008 + "    " + maxPr8 + "    " + minPr8 );
        }

    //2007
    else if (i > 247 && i < 279) {
            String y2007 = dataYear[i];
            totalTemp7 += (highTemp[i] + lowTemp[i]); 
            double avgT7 = totalTemp7;
            avgT7 /= (highTemp.length + lowTemp.length) * 1.0;
            double highestT7 = 0.0;
            double lowestT7 = 0.0;
            if(totalTemp7 > highestT7){
                totalTemp7 = highestT7;}
            if(totalTemp7 < lowestT7)   {
                totalTemp7 = lowestT7;      
                }
            double maxSnow7 = 0.0;
            if(snowFall[i] > maxSnow7 ){ 
                maxSnow7 = snowFall[i];
            }
            double minSnow7 = 0.0;
            double avgsnow7 = 0.0;
            if(snowFall[i] < minSnow7){
                minSnow7 = snowFall[i];

            avgsnow7 += snowFall[i];
            avgsnow7 += snowFall.length * 1.0;
            }
            double maxPr7 = 0.0;
            if (prec[i] > maxPr7 ){
                maxPr9 = prec[i];}
            double minPr7 = 0.0;
            if(prec[i] < minPr7 ) { 
                minPr7 = prec[i];
                double avgpre2007 = 0.0;
            avgpre2007 += prec[i];
            avgpre2007 += prec.length * 1.0;

        System.out.println(y2007 + "   " + avgT7 + " "+ highestT7 + "    "+lowestT7 +"    " + avgsnow7 + "    " 
            +maxSnow7 + "    " + minSnow7 + "    "+ avgpre2007 + "    " + maxPr7 + "    " + minPr7 );}


    // 2006
        else if (i > 278) {
            String y2006 = dataYear[i];
            totalTemp6 += (highTemp[i] + lowTemp[i]); 
                double avgT6 = totalTemp6;
                avgT6 /= (highTemp.length + lowTemp.length) * 1.0;
                double highestT6 = 0.0;
                double lowestT6 = 0.0;
                if(totalTemp6 > highestT6){
                    totalTemp6 = highestT6;
                if(totalTemp6 < lowestT6){
                    totalTemp6 = lowestT6;  
                    }
                double maxSnow6 = 0.0;
                if(snowFall[i] > maxSnow6 ){ 
                    maxSnow9 = snowFall[i];
                }
                double minSnow6 = 0.0;
                double avgsnow6 = 0.0;
                if(snowFall[i] < minSnow6){
                    minSnow6= snowFall[i];

                avgsnow6 += snowFall[i];
                avgsnow6 += snowFall.length * 1.0;

                double maxPr6 = 0.0;
                if (prec[i] > maxPr6 ){
                    maxPr6 = prec[i];}
                double minPr6 = 0.0;
                if(prec[i] < minPr6 ) { 
                    minPr6 = prec[i];}
                    double avgpre2006 = 0.0;
                avgpre2006 += prec[i];
                avgpre2006 += prec.length * 1.0;

            System.out.println(y2006 + "   " + avgT6 + " "+ highestT6 + "    "+lowestT6 +"    " + avgsnow6 + "    " 
                +maxSnow6 + "    " + minSnow6 + "    "+ avgpre2006 + "    " + maxPr6 + "    " + minPr6 );

    // Past 10 years
            System.out.println("For the past 10 year:");

            double avgTemp = (avgT15+avgT14+avgT13+avgT12+
                    avgT11+avgT10+avgT9+avgT8+avgT7+avgT6)/10;
            System.out.println("Average Temp:    " + avgTemp);  

            double avgSnow = (avgsnow15+avgsnow14+avgsnow13+avgsnow12+avgsnow11+avgsnow10
                    +avgsnow9+avgsnow8+avgsnow7+avgsnow6) /10;
            System.out.println("Average Snow:    " + avgSnow);

            double avgPrec = (avgpre2015+avgpre2014+avgpre2013+avgpre2012+avgpre2011
                    +avgpre2010+avgpre2009+avgpre2008+avgpre2007+avgpre2006) / 10;
            System.out.println("Average Precip:    " + avgPrec);

            if(i < highTemp.length){
                ++i; 
                while()

            }


    }}}}}}}}}}}}}}}}}
这是我的输出:

Name: John Fischer    
Hometown:  Denver, Colorado
Birthdate:  3 February 1980
Location: Chicago
Date           AvgTemp  MaxTemp  MinTemp  AvgSnow  MaxSnow  MinSnow  AvgPrec  MaxPrec  MinPrec
把这个翻过来:

if(prec[i] < minPr15 ) { 
            minPr15 = prec[i];
if(prec[i]
为此:

if(prec[i] <= minPr15 ) { 
            minPr15 = prec[i];

if(prec[i]修正了一些英语问题。实际上我看不出这个问题有什么错。你有代码、预期结果、实际结果和数据。
if(prec[i] <= minPr15 ) { 
            minPr15 = prec[i];