関数は入力を降順に並べ替えるのではなく、単に入力の順序を逆にします

死の影;

ユーザーから文字列を入力して配列に格納するプログラムを作成する必要があります。次に、最初に各文字列を{文字ごとに}降順で並べ替え、次にすべての文字列入力を降順で並べ替える関数を作成する必要があります。

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    static String sortString(String str)
    {
        
        char[] chArr = str.toCharArray();
        String SortString = "";

        // For sorting each individual strings character by character
        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;
                }
            }
        }

        //converting all of the character into a single string
        for (int k = 0; k<chArr.length;k++)
        {
            SortString = SortString + chArr[k];
        }

        //Assigning the current String Sortstring to an array
        String[] OldArray = new String[5];
        for (int counter = 0; counter<5; counter++)
        {
            OldArray[counter] = SortString;
        }

        //sorting all of the strings in descending order
        for (int i = 0; i< OldArray.length;i++)
        {
            for (int j = i+1; j< OldArray.length;j++)
            {
                if(OldArray[i].compareTo(OldArray[j]) > 0)
                {
                    String temp = OldArray[i];
                    OldArray[i] = OldArray[j];
                    OldArray[j] = temp;
                }
            }
        }

        return OldArray[0];
    }

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

        String[] names = new String[5];

         // will take a String user input from a user and store it in an arra
        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);
        }

        //will print the assorted array
        for(int i = 4; i >= 0; i--)
        {
            System.out.println((sortString(names[i])));
        }


    }

}

入力:

Input String #1: Stackoverflow
Input String #2: Java
Input String #3: ZZrot
Input String #4: coding
Input String #5: sorting

出力

tsronig
onigdc
zztro
vjaa
wvtsroolkfeca

期待される出力:

zztro
wvtsroolkfeca
vjaa
tsronig
onigdc

正直言って何をしたらいいのかわからない

ジョニ:

あなたはソリューションに非常に近いです。

文字列の配列を並べ替えることは不可能sortStringです。これは、渡した1つの文字列にしかアクセスできないためです。配列の並べ替えコードを別のメソッド移動すると、配列全体を渡しながら呼び出すことができます。

static String sortString(String str) {

    char[] chArr = str.toCharArray();
    String SortString = "";

    // For sorting each individual strings character by character
    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;
            }
        }
    }

    //converting all of the character into a single string
    for (int k = 0; k < chArr.length; k++) {
        SortString = SortString + chArr[k];
    }

    return SortString;
}

static void sortArray(String[] OldArray) {

    //sorting all of the strings in descending order
    for (int i = 0; i< OldArray.length;i++)
    {
        for (int j = i+1; j< OldArray.length;j++)
        {
            if(OldArray[i].compareTo(OldArray[j]) > 0)
            {
                String temp = OldArray[i];
                OldArray[i] = OldArray[j];
                OldArray[j] = temp;
            }
        }
    }
}

メインメソッドにも小さな変更が必要です。配列を並べ替える前に、文字列内の文字を並べ替える必要があります。ここでは、入力の読み取り中に文字がソートされ、次に配列が1回の呼び出しでソートされますsortArray

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

    String[] names = new String[5];

    // will take a String user input from a user and store it in an arra
    for (int counter = 0; counter<5; counter++)
    {
        do
        {
            System.out.print("Input String #" + (counter+1) + ": ") ;
            names[counter] = sortString(UserInput.next().toLowerCase());
        }while(names[counter].length() > 25);
    }

    sortArray(names);

    //will print the assorted array
    for(int i = 4; i >= 0; i--)
    {
        System.out.println(names[i]);
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

XSLTは入力を任意の順序で並べ替えます

分類Dev

行の順序に関係なく、dfの各列を降順で並べ替える方法は?

分類Dev

複数の列で並べ替える場合は、各列に昇順降順を設定します

分類Dev

Perlハッシュを値の降順で並べ替えてから、昇順でキー入力します

分類Dev

配列を逆の順序で並べ替える-逆にしない

分類Dev

R 1つの列を昇順で並べ替え、他のすべての列を降順で並べ替えます(列の順序に基づく)

分類Dev

並べ替えの目的でMySQL関数を使用して、フィールド内の文字の順序を逆にすることは可能ですか?

分類Dev

SQL Serverに入力された順序で並べ替える方法は?

分類Dev

最初の2列だけでファイルを並べ替え、列の値が同じ場合に備えて入力順序を維持します

分類Dev

配列を降順ではない順序で並べ替えるユーザー定義関数を開発します

分類Dev

Ruby on Rails 4インデックスのエントリを、入力の順序ではなく、日付/時刻で並べ替える

分類Dev

Kerasでは、補助入力をマージすると、並べ替え順序が保持されます

分類Dev

複数の入力文字列をマージしてアルファベット順に並べ替える

分類Dev

入力順序を逆にする方法は?

分類Dev

数値の配列を上から下に並べ替えるにはどうすればよいですか(逆/降順)?

分類Dev

交差関数は、入力順序に応じて異なるモードを返します

分類Dev

昇順で並べ替えられたオブジェクトのリストを逆にすると、降順になりますか?

分類Dev

単に並べ替えて逆にするのではなく、<=>を使用する利点はありますか?

分類Dev

ハッシュを値の降順で並べ替えてから、昇順のルビーを入力します

分類Dev

配列に入力された並べ替え順序からhtmlを並べ替える

分類Dev

別の列への参照を逆の順序で列に入力する

分類Dev

UIPickerViewに特定の順序で配列を入力します

分類Dev

Spark SQLで列を降順に並べ替える方法は?

分類Dev

Mail.app - グループ名を入力して宛先アドレスを追加するときの並べ替え順序は何によって設定されますか?

分類Dev

SASで変数を特定の順序に並べ替える

分類Dev

domの順序ではなく、xslt1.0の並べ替え順序で前の要素を取得する

分類Dev

Pythonでzip関数を使用して関連する2つのリストを並べ替える、降順で並べ替える方法は?

分類Dev

mongoidを使用して入力配列の順序でクエリを並べ替える

分類Dev

Javaのリストのラッパークラスにコンパレータを使用して(並べ替えではなく)順序を課します

Related 関連記事

  1. 1

    XSLTは入力を任意の順序で並べ替えます

  2. 2

    行の順序に関係なく、dfの各列を降順で並べ替える方法は?

  3. 3

    複数の列で並べ替える場合は、各列に昇順降順を設定します

  4. 4

    Perlハッシュを値の降順で並べ替えてから、昇順でキー入力します

  5. 5

    配列を逆の順序で並べ替える-逆にしない

  6. 6

    R 1つの列を昇順で並べ替え、他のすべての列を降順で並べ替えます(列の順序に基づく)

  7. 7

    並べ替えの目的でMySQL関数を使用して、フィールド内の文字の順序を逆にすることは可能ですか?

  8. 8

    SQL Serverに入力された順序で並べ替える方法は?

  9. 9

    最初の2列だけでファイルを並べ替え、列の値が同じ場合に備えて入力順序を維持します

  10. 10

    配列を降順ではない順序で並べ替えるユーザー定義関数を開発します

  11. 11

    Ruby on Rails 4インデックスのエントリを、入力の順序ではなく、日付/時刻で並べ替える

  12. 12

    Kerasでは、補助入力をマージすると、並べ替え順序が保持されます

  13. 13

    複数の入力文字列をマージしてアルファベット順に並べ替える

  14. 14

    入力順序を逆にする方法は?

  15. 15

    数値の配列を上から下に並べ替えるにはどうすればよいですか(逆/降順)?

  16. 16

    交差関数は、入力順序に応じて異なるモードを返します

  17. 17

    昇順で並べ替えられたオブジェクトのリストを逆にすると、降順になりますか?

  18. 18

    単に並べ替えて逆にするのではなく、<=>を使用する利点はありますか?

  19. 19

    ハッシュを値の降順で並べ替えてから、昇順のルビーを入力します

  20. 20

    配列に入力された並べ替え順序からhtmlを並べ替える

  21. 21

    別の列への参照を逆の順序で列に入力する

  22. 22

    UIPickerViewに特定の順序で配列を入力します

  23. 23

    Spark SQLで列を降順に並べ替える方法は?

  24. 24

    Mail.app - グループ名を入力して宛先アドレスを追加するときの並べ替え順序は何によって設定されますか?

  25. 25

    SASで変数を特定の順序に並べ替える

  26. 26

    domの順序ではなく、xslt1.0の並べ替え順序で前の要素を取得する

  27. 27

    Pythonでzip関数を使用して関連する2つのリストを並べ替える、降順で並べ替える方法は?

  28. 28

    mongoidを使用して入力配列の順序でクエリを並べ替える

  29. 29

    Javaのリストのラッパークラスにコンパレータを使用して(並べ替えではなく)順序を課します

ホットタグ

アーカイブ