2014-06-25 28 views
0

我已經編寫了一個程序來讀取輸入文件並將這些值存儲在三個數組(一個字符串和兩個雙數組)中。 誰做任務的類下面給出:如何使三個數組彼此相關

package Assignments; 

import java.util.Arrays; 
import java.util.Scanner; 


public class Unit { 

static double[] fatContent; 
static double[] protienContent; 
static String[] nameOfElements; 


Unit(int numberOfElements){ 
    fatContent=new double[numberOfElements]; 
    protienContent=new double[numberOfElements]; 
    nameOfElements=new String[numberOfElements]; 

} 

static void start(String in,int counter){ 
    Scanner storingElements=new Scanner(in); 
    double fat; 
    double protien; 
    String name; 

    while(!storingElements.hasNext()){ 

     storingElements.nextLine(); 

    } 
    name=storingElements.next(); 
    fat=storingElements.nextDouble(); 
    protien=storingElements.nextDouble(); 
    fatContent[counter]=fat; 
    protienContent[counter]=protien; 
    nameOfElements[counter]=name; 

} 


} 

一個我讀輸入文件是:

7 
25 
2 
Mammal fat_content(%) protein_content(%) 
Bison 7.9 5.9 
Guinea_pig 3.9 8.1 
Dolphin 14.0 10.4 
Donkey 1.4 1.7 
Goat 4.1 3.4 
Deer 19.7 9.2 
Dog   8.3 9.5 
Yak  6.7 5.3 
Camel 3.4 3.5 
Cat  10.9 11.1 
Rabbit 13.1 7.1 
Llama 3.2 3.9 
Human 43.9 7.4 
Mule 1.8 2.0 
Elephant 5.0 4.0 
Horse 1.3 2.1 
Rat  12.6 12.3 
Reindeer 20.3 10.4 
Sheep 6.4 5.6 
Pig   5.1 6.6 
Fox  5.9 7.4 
Whale 42.3 10.9 
Polar_bear 31.0 10.2 
Zebra 4.8 3.0 
Seal 53.2 11.2 

,當我從我的主程序運行此類它給我的輸出:

[Bison, Guinea_pig, Dolphin, Donkey, Goat, Deer, Dog, Yak, Camel, Cat, Rabbit, Llama, Human,  Mule, Elephant, Horse, Rat, Reindeer, Sheep, Pig, Fox, Whale, Polar_bear, Zebra, Seal] 

[7.9, 3.9, 14.0, 1.4, 4.1, 19.7, 8.3, 6.7, 3.4, 10.9, 13.1, 3.2, 43.9, 1.8, 5.0, 1.3, 12.6,  20.3, 6.4, 5.1, 5.9, 42.3, 31.0, 4.8, 53.2] 

[5.9, 8.1, 10.4, 1.7, 3.4, 9.2, 9.5, 5.3, 3.5, 11.1, 7.1, 3.9, 7.4, 2.0, 4.0, 2.1, 12.3, 10.4, 5.6, 6.6, 7.4, 10.9, 10.2, 3.0, 11.2] 

但我的問題是,我希望他們之間的連接一樣,如果我發現脂肪陣列的最大值,那麼它也給了我蛋白和哺乳動物名稱的相應值貝羅恩格斯。 我的意思是我怎樣才能讓他們彼此相關...... 像(野牛7.9 5.9)在一個地方。

感謝提前任何想法或幫助將高度讚賞.....

回答

6

創建一個包含所有三個值的新類,而不是擁有三個數組,而只有一個該類的數組。

例如:

public class MammalValue { 
    private String name; 
    private double fat; 
    private double protein; 

    // getters & setters here 
} 

這樣你就可以有一個數組:MammalValue[] values

0

你需要的是一個新的數據類型,它包含兩個雙打和一個字符串。從這個 ,你創建一個數組。

你可以這樣做,開始搞亂索引,但這會使它比應該更復雜,而且會更容易出錯。

0

您可以創建一個POJO類哺乳動物,fat_content(%),protein_content(%)領域的getter-setter

並創建array of these objects。所以你可以一起得到三個值。