带字符串的Java排序数组
嘿,我有一个项目,其中程序以降序显示团队分数,但问题是我无法切换团队名称,以便它们可以按顺序排列,因为团队名称数组是一个字符串带字符串的Java排序数组,java,Java,嘿,我有一个项目,其中程序以降序显示团队分数,但问题是我无法切换团队名称,以便它们可以按顺序排列,因为团队名称数组是一个字符串 for(int i = 0;i<tabPTS.length;i++){ // tabEquipe is the array containing the team names. for (int j = i+1; j<tabPTS.length;j++){ if(tabPTS[i]<tabPTS[j]){
for(int i = 0;i<tabPTS.length;i++){ // tabEquipe is the array containing the team names.
for (int j = i+1; j<tabPTS.length;j++){
if(tabPTS[i]<tabPTS[j]){
temp = tabPTS[i];
tabPTS[i] = tabPTS[j];
tabPTS[j] = temp;
}
}
}
System.out.println("Equipes: ");
System.out.println();
System.out.print("\t" + "PJ");
System.out.print("\t" + "V");
System.out.print("\t" + "D");
System.out.print("\t" + "PTS");
System.out.println();
for(int i = 0;i<tabPTS.length;i++){
int pos = i;
System.out.println(tabEquipe[i] + "\t" + tabPJ[i] + "\t"
+ tabVict[i] + "\t" + tabDef[i] + "\t" + tabPTS[i]);
}
for(int i=0;i如果我正确理解了问题,您希望根据团队的得分按排序顺序输出团队名称及其得分。
解决此问题的多种方法:
1) 尝试定义一个类型,将团队名称和他们的分数放在一起,然后根据他们的分数对这些对象的数组进行排序
2) 如果必须将分数和团队名称保留为单独的数组,请在选择排序算法中,将团队名称数组中的值与分数数组一起切换 如果我正确理解了问题,您希望根据团队的得分按排序顺序输出团队名称和得分。
解决此问题的多种方法:
1) 尝试定义一个类型,将团队名称和他们的分数放在一起,然后根据他们的分数对这些对象的数组进行排序
2) 如果必须将分数和团队名称保留为单独的数组,请在选择排序算法中,将团队名称数组中的值与分数数组一起切换 要在Java中对字符串数组进行排序,需要将数组的每个元素与所有剩余元素进行比较,如果结果大于0,则交换它们
要做到这一点,您需要使用两个循环(嵌套),其中内部循环以i+1开始(其中i是外部循环的变量),以避免比较中的重复
这是一个例子
import java.util.Arrays;
public class StringArrayInOrder {
public static void main(String args[]) {
String[] myArray = {"JavaFX", "HBase", "OpenCV", "Java", "Hadoop", "Neo4j"};
int size = myArray.length;
for(int i = 0; i<size-1; i++) {
for (int j = i+1; j<myArray.length; j++) {
if(myArray[i].compareTo(myArray[j])>0) {
String temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
}
}
System.out.println(Arrays.toString(myArray));
}
}
您还可以使用数组类的排序()方法对数组进行排序
像这样
String[] myArray = {"JavaFX", "HBase", "OpenCV", "Java", "Hadoop","Neo4j"};
Arrays.sort(myArray);
System.out.println(Arrays.toString(myArray));
您可以按如下降序排列arr[]
String arr[] = {"p","q","c"};
// Sorts arr[] in ascending order
Arrays.sort(arr);
System.out.printf("Modified arr[] : \n%s\n\n",
Arrays.toString(arr));
// Sorts arr[] in descending order
Arrays.sort(arr, Collections.reverseOrder());
和输出
Modified arr[] :
Modified arr[] :
[q, p, c]
要在Java中对字符串数组进行排序,需要将数组的每个元素与所有剩余元素进行比较,如果结果大于0,则交换它们
要做到这一点,您需要使用两个循环(嵌套),其中内部循环以i+1开始(其中i是外部循环的变量),以避免比较中的重复
这是一个例子
import java.util.Arrays;
public class StringArrayInOrder {
public static void main(String args[]) {
String[] myArray = {"JavaFX", "HBase", "OpenCV", "Java", "Hadoop", "Neo4j"};
int size = myArray.length;
for(int i = 0; i<size-1; i++) {
for (int j = i+1; j<myArray.length; j++) {
if(myArray[i].compareTo(myArray[j])>0) {
String temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
}
}
System.out.println(Arrays.toString(myArray));
}
}
您还可以使用数组类的排序()方法对数组进行排序
像这样
String[] myArray = {"JavaFX", "HBase", "OpenCV", "Java", "Hadoop","Neo4j"};
Arrays.sort(myArray);
System.out.println(Arrays.toString(myArray));
您可以按如下降序排列arr[]
String arr[] = {"p","q","c"};
// Sorts arr[] in ascending order
Arrays.sort(arr);
System.out.printf("Modified arr[] : \n%s\n\n",
Arrays.toString(arr));
// Sorts arr[] in descending order
Arrays.sort(arr, Collections.reverseOrder());
和输出
Modified arr[] :
Modified arr[] :
[q, p, c]
你在找这个吗你在找这个吗