我编写了一个程序,它读取输入文件并将值存储在三个数组(一个字符串和两个 double 组)中。 执行任务的类如下:
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) 在一个地方。
我在网上搜索过,得到了一些答案,比如创建一个新类并将数组设置为该类或类似的东西,但我真的不明白......我非常感谢一个包含一些细节的答案因为我是编程新手。
提前致谢,任何想法或帮助将不胜感激......
最佳答案
这里是类(class),需要你自己完善。但据我了解,主要思想就在其中。
class Mamal
{
String Name;
double fat;
double protein;
public Mamal(double fatContent,double proteinContent,String nameofElements)
{
Name=nameofElements;
protein=proteinContent;
fat=fatContent;
}
public String get_by_name(Mamal[] nameofElements,String name)
{
for(int i=0;i<nameofElements.length;i++)
{
if(nameofElements[i].getName().equalsIgnoreCase(name))
{
return nameofElements[i].getFat()+nameofElements[i].getName();
}
}
return "";
}
public String getName() {
return Name;
}
public double getFat() {
return fat;
}
public double getProtein() {
return protein;
}
}
函数 get_by_name 可帮助您获取所需哺乳动物的蛋白质和脂肪。
关于java - 数组相互对应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24406774/