问题是将文件加载到并行数组中,然后显示该年度的最低价格和后来的最高价格,以及该价格的星期编号以及发生该月份的月份的名称。 我能够打印出最低和最高价格,但是我一直被困在如何显示该价格的月份和日期 请帮忙。
这是我的代码
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);
}
}
答案 0 :(得分:1)
使用另一个变量将max
的当前索引存储在prices
中。然后,最后在数组中找到最大值时,将获得其索引。
您可以使用与为max
存储的索引相同的索引访问月份和日期。
答案 1 :(得分:0)
这里:
System.out.println(max)
打印出最高奖金。现在您需要另外记住相应的索引!因此,您可以这样做:
System.out.println(month[maxIndex] + " " + day[maxIndex] +.... )
为了以某种方式打印日期信息。
除此之外:请注意,使用“并行”数组是一个坏主意。您应该创建一个类,该类保存文件的一行(“行”)的值的 all 。然后有一个这样的对象数组。