2017-04-22 2 views
0
String fileName1 = args[0]; //LINE 14 i am getting error here 
    String fileName2 = args[1]; 


    File file1 = new File(fileName1); 
    File file2 = new File(fileName2); 
    Scanner input1 = new Scanner(file1); 
    Scanner input2 = new Scanner(file2); 

これは私の主な機能のコードです。私のプログラムを実行しようとすると、次のエラーが表示されます:javaのコマンドラインに2つの値を入力しようとしています。私はこのエラーが発生しています。どうして?

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 
    at MainProgram.main(MainProgram.java:14) 

どうすればこの問題を解決できますか?

+1

どのようにプログラムを実行していますか? **あなたは何のコマンドラインを入力していますか? –

+0

@ElliotFrisch私はコンソールと思いますか?申し訳ありませんが、私はjavaに新しいです。 –

+0

プログラムを実行するには、コマンドラインに入力するコマンドを正確に表示してください。 – 4castle

答えて

1

コマンドラインは次のようにする必要があります。java -jar jarfile.jar firstString secondString コマンドに2文字を入力する必要があります。 The firstStringsecondString

+0

はい、@Sperm Monkeyはコマンドラインの問題を尋ねています。 –

+0

私はコマンドラインに何も書き込ませません。そこにはちょうど起こる領域 –

+0

@SpermMonkey誰が "彼ら"ですか?また、コマンドを入力できない場合は、コマンドラインからアプリケーションを実行する方法もありますか?プログラムの実行方法を正確にご説明ください。 – 4castle

0

コマンドラインで実行する必要がない場合。あなたはRun Configuration .. - >とメインクラスを見つける - >私の画像としてstring1とstring2を入力する必要があります。この写真で enter image description here

、トレイは、主な機能

0

を持っている問題は、あなたの代わりに「コンソール」の「コマンドライン」、それを呼び出しているということである私のクラスです。 これは、コマンドラインの例です。

Command Line (or Command Prompt in Windows

これは、Eclipseを使用していると仮定すると、コンソールの例である:

Eclipse Console

だから、あなたが入力しようとしていますプログラムの実行後にコンソール内のファイルの場所は、mainメソッドのargs[]配列を介して実行する瞬間にJavaプログラムが期待しています。したがって、エラー。それを解決するには、トゥイーンの答えを使用する必要があります。