-2

文字列の配列を受け取る静的メソッド main。配列には、ファイルが配置されているパス (インデックス 0) と処理するファイルの名前 (インデックス 1) の 2 つの要素が必要です。たとえば、名前が「Walmart」の場合、プログラムは「Walmart.cmd」(コマンドの読み取り元) と「Walmart.pro」(製品の読み取り/書き込み元) を使用する必要があります。

これは私が学ぶ必要があるものなので、誰かにコードを書いてもらいたくありません。しかし、私はこれを読んでいて、言葉遣いが紛らわしいです。疑似コードまたはアルゴリズムを通じて、誰かが私に何を望んでいるかを理解するのを手伝ってくれれば、大歓迎です。

4

3 に答える 3

0
public class Inventory { // class inventory

public static void main(String[] args) // main method
{

if(args.length==2){ // check if args contains two elements
String filePath = args[0];
String fileName = args[1];

filePath+= System.getProperty("file.separator")+fileName; 

File fileCMD = new File(filePath+".cmd");
//fileCMD.createNewFile(); 
File filePRO =new File(filePath+".pro");
//filePRO.createNewFile();


}

else {

//write the code to print the message Usage: java Inventory Incorrect number of parameters for a while and exit the program.
}

}

これが私が理解したことです。基本的に、fileName.cmd と fileName.pro という 2 つのファイルを作成するプログラムを作成する必要があります。引数 (メイン メソッドの入力パラメーター) とシステムのファイル セパレーターを使用して、ファイルのパスを作成する必要があります。引数に 2 つの要素がない場合は、「無効」メッセージを出力する必要があります。それでおしまい。

私が混乱しているのは、arg[0] と arg[1] を初期化する方法と、それらが初期化されているものです。

コマンドラインを使用して引数を渡し、プログラムを起動する必要があります.cmdまたはターミナルで次のコードのようになります。

java inventory thePath theFileName

このように初期化されます。

于 2013-10-28T23:28:18.067 に答える
0

私が混乱しているのは、arg[0] と arg[1] を初期化する方法と、それらが初期化されているものです。

メイン メソッドのString配列入力引数は、プログラムの実行時にプログラムのメイン メソッドに渡す文字列引数で構成されます。たとえば、次の単純なプログラムは、ループしargsて各引数のインデックスと値を別の行に表示する素敵なメッセージを出力します。

package com.example;

public class MainExample {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.printf("args[%d]=%s\n", i, args[i]);
        }
    }
}

プログラムをコンパイルしたら、コマンドラインで実行していくつかの引数を渡すことができます:

java -cp . com.example.MainExample eh? be sea 1 2 3 "multiple words"

出力:

args[0]=eh?
args[1]=be
args[2]=sea
args[3]=1
args[4]=2
args[5]=3
args[6]=multiple words
于 2013-11-01T22:43:33.493 に答える