簡體   English   中英

在Java中以降序對數組進行排序

[英]Sorting an array in a decreasing order in Java

我正在嘗試編寫一個程序,該程序將首先對給定的字符串一個一個排序,然后按降序對所有字符串進行排序我設法逐個字符地對字符串進行排序,但是我在排序所有已排序的字符串時遇到了麻煩字符)字符串。 我嘗試使用 Array.sort() 但它不會對它進行遞減排序,它只對第一個輸入進行排序,而不是對已經排序的數組進行排序

    package com.company;

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    static void sortString(String str)
    {
        char[] chArr = str.toCharArray();
        String SortString = "";
        for (int i = 0; i< chArr.length; i++)
        {
            for (int j = 0; j< chArr.length; j++)
            {
                if(chArr[i] > chArr[j])
                {
                    char temp = chArr[i];
                    chArr[i] = chArr[j];
                    chArr[j] = temp;
                }
            }
        }
        String[] SortedString = new String[5];

        for (int k = 0; k<chArr.length;k++)
        {
            SortString = SortString + chArr[k];
        }
        Arrays.sort(SortedString);
        for (int counter = 0; counter<5; counter++)
        {
            System.out.println(SortedString[counter]);
        }


    }
    public static void main(String[] args)
    {
        Scanner UserInput = new Scanner (System.in);

        String[] names = new String[5];

        for (int counter = 0; counter<5; counter++)
        {
            do
            {
                System.out.print("Input String #" + (counter+1) + ": ") ;
                names[counter] = UserInput.next().toLowerCase();
            }while(names[counter].length() > 25);

        }
        UserInput.close();
        Arrays.sort(names);
        for (int counter = 0; counter<5; counter++)
        {
            sortString(names[counter]);
        }


    }

}
static String sortString(String str)
{
    char[] chArr = str.toCharArray();
    for (int i = 0; i< chArr.length; i++)
    {
        for (int j = 0; j< chArr.length; j++)
        {
            if(chArr[i] > chArr[j])
            {
                char temp = chArr[i];
                chArr[i] = chArr[j];
                chArr[j] = temp;
            }
        }
    }
    
    return new String(chArr);
}

public static void main(String[] args)
{
    Scanner UserInput = new Scanner (System.in);

    String[] names = new String[5];

    for (int counter = 0; counter<5; counter++)
    {
        do
        {
            System.out.print("Input String #" + (counter+1) + ": ") ;
            names[counter] = UserInput.next().toLowerCase();
        }while(names[counter].length() > 25);

    }
    UserInput.close();
    // Arrays.sort(names);   No point sorting here
    
    String[] strings = new String[5];
    for (int counter = 0; counter<5; counter++)
    {
        strings[counter] = sortString(names[counter]);
    }

     Arrays.sort(strings);

      // increasing order:
     for(String s : strings) {
         System.out.println(s);
     }
     
     // decreasing order:        
     for(int i = 4; i >= 0; i--) {
         System.out.println(strings[i]);
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM