0

文字列を読み込んで並べ替えようとしています。以下のコードで星印が付けられている多くのエラーを受け取りました。これらのエラーを修正する方法を教えていただけますか?

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

2 に答える 2

1
stringList = new String[size];

サイズはありintませんString。以下のようなことをする必要があります:

int sizeInInt = Integer.valueOf(size); // This may throw NumberFormatException, wrap it in try/catch.

stringList = new String[sizeInInt ];

(また)

サイズを変更して、代わりにint行うnextInt()nextLine()

nextInt() (または) nextLine() を実行する前に hasNext() を実行することをお勧めしますNoSuchElementException

于 2012-12-07T04:09:25.180 に答える
1

まず、発生した正確なエラーを投稿する必要があります。

そうは言っても、各行のこの部分を見てください。

String i = 0

Stringここでは、という名前の変数を宣言し、それに値をi割り当てます。変数に異なる型の値を代入しているため、コンパイラは不平を言います。0int

コードの問題はこれだけではありません。先ほど申し上げたように、エラー メッセージを投稿していただければ、より迅速に対応できるようになります。

于 2012-12-07T04:09:42.350 に答える