簡體   English   中英

Java將值添加到另一個類的數組

[英]Java adding values to an array to an other class

我正在嘗試從文件中讀取雙精度數據並將它們放置在一個數組中。我已經完成了兩個數組。第一個double將在第一個數組中,第二個將在第二個數組中在第三個數組中,依此類推...為此,我必須使用一個單獨的類(以存儲數組)。

這是應該要求用戶選擇要讀取的文件的代碼,然后將雙打放入數組,但無法正常工作,我不知道為什么...

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的初學者,所以我了解我的代碼對您來說可能很愚蠢。 感謝和幫助。

import ui.UIAuxiliaryMethods;

在這一行中,您嘗試使用一個名為“ ui”的類。 你有這堂課嗎? 如果是這樣,請向我們顯示代碼。 “ ui”是您要使用的庫的一部分,還是您自己編寫的類?

UIAuxiliaryMethods.askUserForInput();

該行表示您嘗試使用一個名為“ UIAuxiliaryMethods”的類。 你有這堂課嗎? 如果是這樣,請向我們顯示代碼。 “ UIAuxiliaryMethods”是您要使用的庫的一部分,還是您自己編寫的類?

問題是您將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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM