0

OK、ここに私の問題があります。文字列の配列を取得してアルファベット順に並べ替え、最初の文字列を出力する必要があります。文字列はユーザ​​ーによって送信されません。配列として入力される一連の状態を含むファイルがあります。

これは私が持っているものです:

import java.io.*;
import java.util.*;
public class MinString
{
    private static final int SIZE = 10;
    public static void main(String[] args)
    {
            String[] list = new String[SIZE];
            int numItems;

            numItems = Initialize (list);
            System.out.println(numItems);
    }

    private static int Initialize (String[] list)
    {
      //post : List is initialized with all strings from file.

      String filename, stateInput;
      int i = 0, numItems = 0;
      try  {
            System.out.print("Input File : ");
            Scanner stdin = new Scanner(System.in);
            filename = stdin.nextLine();
            stdin = new Scanner(new File(filename));

            while ((stdin.hasNext()) && (i < list.length))
            {
                    stateInput = stdin.nextLine();
                    System.out.println("S = " + stateInput);
                    list[i] = stateInput;
                    i++;
            }
            numItems = i;
      }
      catch (IOException e)  {
            System.out.println(e.getMessage());
      }
      return numItems;
    }

    // Method FindMin goes here
 private static String FindMin (String[] list, numItems);
 ?????

}

この FindMin メソッドの書き方がわかりません。入力として文字列のサイズ numItems の配列を取り、呼び出し元の関数に最小文字列を返すように、FindMin を記述する必要があります。

何か案は?

4

6 に答える 6

3

これは宿題のように感じるので、私はあなたが自分自身を助けるのを手伝います:

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#compareTo(java.lang.String )

于 2012-09-02T19:58:56.550 に答える
1

それを行う最も簡単な方法は次のとおりです。

return Collections.min(Arrays.asList(list));
于 2012-09-02T20:10:26.767 に答える
1

このjava.util.Arraysオブジェクトには、配列を操作するための一連の静的メソッドが含まれています。私Arrays.sortはおそらくここであなたを助けると思います。文字列はアルファベット順でインターフェイスを実装するためComparable、ソートされた配列は必要な情報を提供するはずです。

于 2012-09-02T20:10:37.090 に答える
0
import java.util.*;
class Six
{
public static void main(String arg[])
{
String str[]=new String[5];
Scanner in=new Scanner(System.in);
System.out.println("Enter the element of array :");
for(int i=0;i<=4;i++)
{
str[i]=in.next();
}
Arrays.sort(str);
System.out.println("The first element after sorting is:");
System.out.println(str[0]);
}
}
于 2012-09-10T17:52:01.440 に答える
0

Arrays.sort(list) を使用するだけで、リストがソートされます。

于 2012-09-02T20:29:55.743 に答える
-1
private static String findMin(String[] list) {
    String minState = list[0]; 
    for(int i=1; i<list.length; i++){
        String min=list[i];
        minState=(min!=null&&min.compareTo(minState)<0)?min:minState;
    }
    return minState;
}
于 2012-09-02T20:25:50.783 に答える