我不确定如何同时显示字符串和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月
答案 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
是一个错误的数组名称。集合是无序集合,数组有顺序。