Java将数组的值添加到其他类

时间:2014-06-21 10:15:40

标签: java arrays

我正在尝试从文件中读取双打并将它们放在一个数组中。我有两个数组。第一个是第一个数组,第二个是第二个数组第三个,依此类推。 .. 但是我必须为此目的使用一个单独的类(存储数组)。

这是代码,它应该要求用户选择一个应该被读取的文件,然后将双打放在数组中,但它不起作用,我不知道为什么......

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和帮助非常感谢。

2 个答案:

答案 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];
}