我有一个包含三个整数的数组和一个包含三个字符串的数组。
我希望能够在数组中找到最低的int,如果“next value”更高,则替换它。如果替换了最低的int,我想替换相应的字符串。
int [] counts = {matchA, matchB, matchC};
String [] names = {nameA, nameB, nameC};
例如,say matchA为6,matchB为4,matchC为10,nameA为bob,nameB为Fred,nameC为jake。
这些名称对应于各自位置的整数。
如果新用户的计数是15,我想替换matchB,因为它是最低的并替换nameB,因为它是相应的名称。
我将如何编码?
感谢!!!!!
答案 0 :(得分:0)
因此,您需要找到最低值的索引,然后将新值应用于该索引处的每个数组。
//This solution assumes counts and names are the same length.
int min = counts[0];
int index = 0;
for(int i = 1; i < counts.length; i++){
if(counts[i] < min){
index = i;
min = counts[i];
}
}
counts[index] = newCount;
names[index] = newName;
答案 1 :(得分:0)
它有效..
public static void main(String[] args) {
int [] counts = {6, 4, 10};
String [] names = {"Alis", "Pop", "Fred"};
System.out.println(Arrays.toString(counts));
System.out.println(Arrays.toString(names));
int newCount = 15;
String newUser = "Jhon";
int min = counts[0], position = 0;
for(int i = 1 ; i < counts.length; i++)
if(counts[i] < min){
min = counts[i];
position = i;
}
if(min < newCount){
counts[position] = newCount;
names[position] = newUser;
}
System.out.println(Arrays.toString(counts));
System.out.println(Arrays.toString(names));
}