Java 如何将数组按降序排列在字符串数组旁边
这是我的密码。。。我需要所有的参赛者根据他们的投票进行排名。。。正如你所看到的,名字和投票计数有不同的数组。。。我被告知冒泡排序会起作用,但我不知道怎么做,因为冒泡排序会替换内部,所以如果tally[2]大于tally[1],它将成为新的tally[1],同时名称保持不变,因为名称[1]不会随名称[2]而改变…我希望您使用基本代码,因为我是一个编程高手,而且最近才开始…此外,对于如何更好/更短地编写代码的任何建议,我都非常感谢Java 如何将数组按降序排列在字符串数组旁边,java,arrays,sorting,Java,Arrays,Sorting,这是我的密码。。。我需要所有的参赛者根据他们的投票进行排名。。。正如你所看到的,名字和投票计数有不同的数组。。。我被告知冒泡排序会起作用,但我不知道怎么做,因为冒泡排序会替换内部,所以如果tally[2]大于tally[1],它将成为新的tally[1],同时名称保持不变,因为名称[1]不会随名称[2]而改变…我希望您使用基本代码,因为我是一个编程高手,而且最近才开始…此外,对于如何更好/更短地编写代码的任何建议,我都非常感谢 import java.util.*; public class F
import java.util.*;
public class FroshNight {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String dec = "0";
System.out.println("How many blocks?");
int contno = sc.nextInt();
int winner = 0;
String winname = "a";
String[] code = new String[contno];
int total = 0;
int counter = 0;
String[] contname = new String[contno];
int[] tally = new int[contno];
while (counter<contno) {
System.out.print("Name of Pair:");
contname[counter]=sc.next();
counter++;
}
counter=0;
while (counter<contno) {
System.out.println("Choose a vote code for "+ contname[counter]+"(must not be x)");
code[counter] = sc.next();
counter++;
}
boolean stop = false;
counter=0;
while(stop == false){
System.out.println("Input Vote (x to exit): ");
dec = sc.next();
if(dec.equals("x")) {
stop = true;
}
counter = 0;
while(counter<contno){
if(dec.equals(code[counter])){
tally[counter] +=1;
counter = contno;
}
counter++;
}
}
//>> aft. else
counter = 0;
while(counter<contno){
total += tally[counter];
counter++;
;
}
counter=0;
while(counter<contno){
if(tally[counter]>winner){
winner = tally[counter];
winname = contname[counter];
}
counter++;
}
System.out.print("The Winner is: "+ winname +" - "+winner );
System.out.println("("+((double)winner/total)*100+"%)");
counter = 0;
while (counter<contno) {
System.out.print(contname[counter]+" - Score:");
System.out.print(tally[counter]);
System.out.println("("+((double)tally[counter]/total)*100+"%)");
counter++;
}
//>>> end while
// add rankings here^^
}
}
方法。。。更多方法。。。hehAs@austinwernli说,你绝对应该使用方法。拥有分数数组和相关名称数组是没有意义的。这只会让事情变得更复杂。创建一个名为like competitor的类,该类包含两个值并放入单个数组中,然后使用适当的Comparator类对其进行排序。顺便说一句,在Java中,您很少使用数组,而是使用列表。