0

私は、テキストファイルの行数、文字数、および平均語長を決定するプログラムを作成しています。プログラムの仕様では、1つまたは複数のファイルがコマンドライン引数として入力され、入力されたファイルごとにTestStatisticオブジェクトを作成する必要があると規定されています。ユーザーが複数のファイルを入力した場合にTestStatisticオブジェクトを作成するためのコードを作成する方法がわかりません。

4

4 に答える 4

4

コマンドライン引数を処理する最も基本的な方法は次のとおりです。

public class TestProgram
{
    public static void main(final String[] args)
    {
        for (String s : args)
        {
            // do something with each arg
        }
        System.exit(0);
    }
}

望ましい方法は、コマンドライン引数を管理するものを使用することです。JSAP:Java SimpleArgumentParserをお勧めします。

于 2010-03-30T20:22:50.877 に答える
1

コマンドライン引数を繰り返し処理し、それぞれに対してTestStatisticオブジェクトを生成する必要があるようです。

例えば

public static void main(String[] args)
{
   for (String arg : args) {
      TestStatistic ts = new TestStatistic(arg); // assuming 'arg' is the name of a file
   }
   // etc...
于 2010-03-30T20:24:01.730 に答える
1

これは、他の一般的な回答の拡張であり、もう少しフラッシュされています。

public class TextFileProcessor
{
    private List testStatisticObjects = new ArrayList();

    private void addFile(String fileName)
    {
        testStatisticObjects.add(new TestStatistic(fileName));
    }

    public static void main(String[] args)
    {
        TextFileProcessor processor = new TextFileProcessor();
        for (String commandLineArgument : args)
        {
            //consider validating commandLineArgument here
            processor.addFile(commandLineArgument);
        }
        ...
    }
}
于 2010-03-30T20:48:56.187 に答える
-1

CommonsCLIなどを使用してコマンドラインを処理することもできます。

于 2010-03-30T20:24:57.680 に答える