一次显示字符串和Int数组

时间:2016-11-24 13:31:19

标签: java

我不确定如何同时显示字符串和int数组,以便显示具有特定月份的数组的最大值

Global:
static double[] set2014 = new double[6];
static String[] months = new String[6];

以下是计算最大值的方法:

public static void max(){
    initialise();
    double max = set2014[0];

    for(int i = 1; i < set2014.length; i++){
        if(set2014[i] > max){
            max = set2014[i];
        }
    }
    System.out.println("------------------");
    System.out.println("Largest figure is " + max);
}

例如,输出将是: 最大的数字是: 204566年3月

1 个答案:

答案 0 :(得分:3)

维护两个通过索引链接的数组就是我所说的Object Denial。考虑创建一个包含月份和值的类。

public interface MonthValue { //class or interface, I just didn't want to type out the simple implementation
   String getMonth();
   double getDouble();
}

//set2014 now needs to contain MonthValues
MonthValue max = set2014[0];

for(int i = 1; i < set2014.length; i++){
    MonthValue current = set2014[i];
    if(current.getValue() > max.getValue()){
        max = current;
    }
}

System.out.println("Largest figure is " + max.getValue());
System.out.println("In month " + max.getMonth());

但要回答你的问题:

您可以改为跟踪索引:

int maxMonthIndex = 0;

for(int i = 1; i < set2014.length; i++){
    if(set2014[i] > set2014[maxMonthIndex]){
        maxMonthIndex = i;
    }
}

System.out.println("Largest figure is " + set2014[maxMonthIndex]);
System.out.println("In month " + months[maxMonthIndex]);

顺便说一句,set是一个错误的数组名称。集合是无序集合,数组有顺序。