我正在尝试从文件中读取双打并将它们放在一个数组中。我有两个数组。第一个是第一个数组,第二个是第二个数组第三个,依此类推。 .. 但是我必须为此目的使用一个单独的类(存储数组)。
这是代码,它应该要求用户选择一个应该被读取的文件,然后将双打放在数组中,但它不起作用,我不知道为什么......
package projectApplicationDevelopment;
import java.util.Arrays;
import java.util.Scanner;
import ui.UIAuxiliaryMethods;
public class NumRow {
static int i=0;
public NumRow() {
UIAuxiliaryMethods.askUserForInput();
}
public NumRow(int numOfElementsOfDataSet) {
this.i=numOfElementsOfDataSet;
}
static double fat=0;
static double protien=0;
static double [] fatContent=new double[i];
static double [] protienContent=new double[i];
static void storeDoublesAndPrintMaxMin() {
Scanner in=new Scanner(System.in);
int counter=0;
while(in.hasNext()) {
fat=in.nextDouble();
protien=in.nextDouble();
fatContent[counter]=fat;
protienContent[counter]=protien;
counter++;
}
Arrays.sort(fatContent);
double max_fat = fatContent[fatContent.length - 1];
double min_fat = fatContent[0];
Arrays.sort(protienContent);
double max_Protien = protienContent[protienContent.length - 1];
double min_Protien = protienContent[0];
System.out.println("The maximum fat in this file was"+max_fat);
System.out.println("The minimum fat in this file was"+min_fat);
System.out.println("The maximum Protien in this file was"+max_Protien);
System.out.println("The maximum Protien in this file was"+min_Protien);
}
它还应该打印数组的最大值和最小值。 我是Java的初学者,所以我理解我的代码可能看起来很愚蠢。 Thnaks和帮助非常感谢。
答案 0 :(得分:0)
import ui.UIAuxiliaryMethods;
在这一行中,您尝试使用名为' ui'的类。你有这堂课吗?如果是这样,请告诉我们它的代码。是' ui'您想要使用的图书馆的一部分,还是您自己编写的课程?
UIAuxiliaryMethods.askUserForInput();
此行表示您尝试使用名为' UIAuxiliaryMethods'的类。你有这堂课吗?如果是这样,请告诉我们它的代码。是' UIAuxiliaryMethods'您想要使用的图书馆的一部分,还是您自己编写的课程?
答案 1 :(得分:0)
问题是您将i
声明为0,然后您正在执行
static double [] fatContent=new double[i];
static double [] protienContent=new double[i];
这不是Excel,实际长度或数组为0。
您可以在构造函数中初始化它。
public NumRow(int numOfElementsOfDataSet) {
this.i=numOfElementsOfDataSet;
fatContent=new double[i];
protienContent=new double[i];
}