-1

以下の問題について助けが必要です。最初に Numbers.java をリストし、その下に Strings.java での試みを示します。助けてください!

  1. Numbers.java と同様に、String オブジェクトの配列を読み取り、それらをソートするプログラム Strings.java を作成します。Numbers.java をコピーして編集するだけです。

    package hw05;
    
    /*  
    Demonstrates selectionSort on an array of integers.
    */ 
    
    import java.util.Scanner;
    
    
    public class Numbers {  
    // --------------------------------------------  
    // Reads in an array of integers, sorts them,  
    // then prints them in sorted order.  
    // --------------------------------------------  
    public static void main(String[] args) {
    
        Integer[] intList;
        int size;
    
        Scanner scan = new Scanner(System.in);
    
        System.out.print("\nHow many integers do you want to sort? ");
        size = scan.nextInt();
        intList = new Integer[size];
    
        System.out.println("\nEnter the numbers...");
        for (int i = 0; i < size; i++)
            intList[i] = scan.nextInt();
        Sorting.selectionSort(intList);
    
        System.out.println("\nYour numbers in sorted order...");
        for (int i = 0; i < size; i++)
            System.out.print(intList[i] + " ");
        System.out.println();
    
    }
    }
    

私のストリングスクラス

package hw05;

/*
Demonstrates selectionSort on an array of strings.
*/
import java.util.Scanner;

public class Strings {
    // --------------------------------------------
    // Reads in an array of strings, sorts them,
    // then prints them in sorted order.
    // --------------------------------------------
    public static void main(String[] args) {

        String[] stringList;
        String size;

        Scanner scan = new Scanner(System.in);

        System.out.print("\nHow many strings do you want to sort? ");
        size = scan.nextLine();
        stringList = new String[size];

        System.out.println("\nEnter the strings...");
        for (String i = 0; i < size; i++)
            stringList[i] = scan.nextLine();
        Sorting.selectionSort(stringList);

        System.out.println("\nYour strings in sorted order...");
        for (String i = 0; i < size; i++)
            System.out.print(stringList[i] + " ");
        System.out.println();

    }
}
4

1 に答える 1

0

ここでの宣言により、エラーが発生します。

String size;

後で整数として使用しているため:

stringList = new String[size];

次のように Integer.parse を使用する必要があります。

stringList = new String[Integer.parseInt(size)];

しかし、後でループに size を再度使用するので、Numbers.java のように int に戻すことをお勧めします。スキャナーを次のように変更してください。

scan.nextInt();

これ以外に特に問題は見当たりません。出力を投稿して、何が機能していないかを指摘した場合はどうでしょうか。

于 2012-12-06T05:28:15.693 に答える