如何使用户输入降序排列?

时间:2019-07-18 14:15:55

标签: java

我希望用户以降序输入。升序输出正确,但降序不起作用。

from selenium import webdriver
from io import BytesIO
from PIL import Image

driver = webdriver.Chrome(executable_path='path to your driver')
driver.get('your url here')
img = Image.open(BytesIO(driver.find_element_by_tag_name('body').screenshot_as_png))
img.save('filename.pdf', "PDF", quality=100)

5 个答案:

答案 0 :(得分:0)

或使用流:

i = Arrays.stream(i).boxed()
    .sorted(Comparator.reverseOrder())
    .mapToInt(Integer::intValue)
    .toArray()

答案 1 :(得分:0)

您可以尝试使用Integer[]代替int[]

答案 2 :(得分:0)

您的行Arrays.sort(i,Collections.reverseOrder());无法编译,因为数组不是集合。使用List而不是数组,并像这样使用它:

public static void main(String[] argu) {
    List<Integer> i = new ArrayList<>();
    Scanner sc = new Scanner(System.in);
    for (int j = 0; j <= 9; j++) {
        i.add(Integer.valueOf(sc.nextLine()));
    }

    System.out.println("Sorted:");
    Collections.sort(i);
    i.forEach(System.out::println);

    System.out.println("\nReversed:");
    Collections.sort(i, Collections.reverseOrder());
    i.forEach(System.out::println);
}

答案 3 :(得分:-1)

尝试一下:

//Sort the array in descending order    


   for (int i = 0; i < arr.length; i++) {     
        for (int j = i+1; j < arr.length; j++) {     
           if(arr[i] < arr[j]) {    
               temp = arr[i];    
               arr[i] = arr[j];    
               arr[j] = temp;    
           }     
        }     
    }    

    //Displaying elements of array after sorting    


    System.out.println("Elements of array sorted in descending order: ");    
    for (int i = 0; i < arr.length; i++) {     
        System.out.print(arr[i] + " ");    
    }    

答案 4 :(得分:-1)

Arrays.sort(i,Collections.reverseOrder())不适用于基元。如果您需要使用以上内容进行排序,请尝试将值读取为“ Integer”而不是“ int”。 如果您需要使用原语,请使用一个简单的比较器,并将其传递给Arrays.sort()或使用类似下面的内容。
Collections.sort(i,(int a,int b)-> return(b-a));