我制作了一个数组,其中包含8个PNG文件,例如27.png
。我试图在j.label
中显示它们并在它们之间交换,但是它们需要按两种不同的方式进行排序。 PNG名称中的“ 2”表示它是最便宜的商品第二名,而7表示它是收视率最高的第七名。因此,34.png
将是第三便宜的,评分为4/8。
我曾尝试研究使用index.of
的方法,但在我的情况下找不到使用它的方法。
非常感谢任何帮助。
最佳答案
public class Main {
public static void main(String[] args) {
String [] pngs = {"18.png","43.png", "27.png", "62.png", "71.png","34.png", "55.png", "86.png"};
//this will sort by cheapest first
java.util.Arrays.sort(pngs);
printArray(pngs);
//to sort by lowest rank first, swap digits, sort, re-swap digits
swapFirstTwoDigits(pngs);
java.util.Arrays.sort(pngs);
swapFirstTwoDigits(pngs);
printArray(pngs);
//to sort by highest rank first, swap digits, sort, re-swap digits
swapFirstTwoDigits(pngs);
java.util.Arrays.sort(pngs,java.util.Collections.reverseOrder());
swapFirstTwoDigits(pngs);
printArray(pngs);
}
static void swapFirstTwoDigits(String[] array){
for (int i = 0; i < array.length; i++) {
String s = array[i];
array[i] = ""+s.charAt(1)+s.charAt(0)+s.substring(2);
}
}
static void printArray(String [] array){
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("-------------------");
}
}
关于java - 如何使用数组中png的名称以两种不同方式对数组进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58653134/