显示一年中最低的平均价格,以及该价格的星期编号,以及发生该月份的月份的名称

时间:2019-04-10 02:47:58

标签: java arrays parallel-processing

问题是将文件加载到并行数组中,然后显示该年度的最低价格和后来的最高价格,以及该价格的星期编号以及发生该月份的月份的名称。 我能够打印出最低和最高价格,但是我一直被困在如何显示该价格的月份和日期 请帮忙。

这是我的代码

package `javaapplication98`;

     import java.io.File;

 import `java.io.FileNotFoundException;`
 import java.util.Scanner;



    public class JavaApplication98

{


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

    {
        File file= new File("D:\\Gas.txt");
        Scanner inputfile= new Scanner(file);

        String [] months= new String[35];
        String [] days= new String[35];
        int [] years= new int[35];
        double [] prices= new double[35];
        int index=0;
        double max=prices[0];


        while(inputfile.hasNext())
            {
                 months[index]=inputfile.next();
                 days[index]=inputfile.next();
                 years[index]=inputfile.nextInt();
                 prices[index++]=inputfile.nextDouble();      
            }
       for (int x=1; x<prices.length; x++)
           {
                 if (prices[x]>max)
                 max=prices[x];               
            }          
    System.out.println(max);   
    }

}

2 个答案:

答案 0 :(得分:1)

使用另一个变量将max的当前索引存储在prices中。然后,最后在数组中找到最大值时,将获得其索引。

您可以使用与为max存储的索引相同的索引访问月份和日期。

答案 1 :(得分:0)

这里:

System.out.println(max)

打印出最高奖金。现在您需要另外记住相应的索引!因此,您可以这样做:

System.out.println(month[maxIndex] + " " + day[maxIndex] +.... )

为了以某种方式打印日期信息。

除此之外:请注意,使用“并行”数组是一个坏主意。您应该创建一个类,该类保存文件的一行(“行”)的值的 all 。然后有一个这样的对象数组。