我编写了一个程序,它读取输入文件并将值存储在三个数组中(一个字符串和两个双数组)。 执行任务的班级如下:
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]
但我的问题是我想在它们之间建立连接,就像我找到胖数组的最大值那么它也给了我相应的蛋白质和属于它的哺乳动物名称的值。 我的意思是我怎么能让它们彼此相关...... 喜欢(Bison 7.9 5.9)在一个地方。
提前致谢,任何想法或帮助都将受到高度赞赏.....
答案 0 :(得分:6)
创建一个包含所有三个值的新类,而不是拥有三个数组,而是拥有该类的一个数组。
例如:
public class MammalValue {
private String name;
private double fat;
private double protein;
// getters & setters here
}
像这样你可以有一个数组:MammalValue[] values
答案 1 :(得分:0)
你想要的是一个新的数据类型,它包含两个双精度数和一个String。 从这里,你创建一个数组。
你可以开始搞乱索引,但这会使它变得比它应该更复杂,而且更容易出错。
答案 2 :(得分:0)
您可以使用POJO
的Mammal,fat_content(%),protein_content(%)字段创建getter-setter
类。
并创建array of these objects
。所以你可以得到三个值。