2017-05-17 26 views
0

私は基本的にJavaでのコーディングのチュートリアルであるいくつかの課題に取り組んでいます。これらのタスクは、私はJavaでコーディングを教えることを試みているだけではありません。現在の作業はファイル名を呼び出すことですが、ハードコーディングすることはありません。渡された名前は、パラメータであると考えられます。私は今まで持っているコードは:ファイル名を渡す

私は文字列のパスを有する
import java.util.*; 
import java.io.*; 

public class Music 
{ 
    private String songTitle; 
    private String albumName; 
    private String artistName; 
    private int releaseYear; 
    static String[] arrayTitles=new String[12]; 

    public static void main(String[] args) 
    { 
    try 
    { 
     String path=args[0]; 
     File music=new File(path); 

     Scanner readLibrary=new Scanner(music); 
     int numberOfTitles=readLibrary.nextInt(); 
     System.out.println(numberOfTitles); 
    } 
    catch (FileNotFoundException e) 
    { 
     System.out.println("ERROR!"); 
     System.exit(0); 
    } 
} 

=引数[0]。 は私のエラーを受け取ります。 ファイル名を「music.txt」にするだけで、プログラムが動作します。ですから、私はこのコードをどのファイル入力でも動作させることを試みています。 music.txtファイルはすでに自分のワークスペースにあります。 私はEclipseを使用しています。

+1

あなたが渡されたargsの数を確認するには 'args.length'をチェックすることができます。しかし、引数がない場合は' path'をどうしますか? – yshavit

+0

コンソールからJavaプログラムを実行していますか? –

+1

*私は自分のエラー*を受け取ります。何のエラー?あなたの投稿はエラーについて何も言わない、エラーを説明しない、どんな種類のエラーメッセージも含んでいないし、あなたが投稿したコードに問題があることを実際に示していない。また、何の質問もしていない。あなたが経験している問題は具体的に何ですか、具体的に何を求めていますか? –

答えて

1

これは、args[0]がヌルであるために発生しています。あなたはコマンドラインからあなたのJavaプログラムを凝視していません。

はそれが役に立てば幸い

Javaの音楽music.txt:あなたは、コマンドラインでのコード行を使用するよりも、args[0]は、nullにしないことをしたい場合。あなたがに行くべきEclipseで

+0

これは、 "example.txt"のような代わりにランダムファイルが使用されるようには思われません。 –

+1

もちろんあります。単に ":java Music example.txt"として実行してください。 – FredK

+0

これは 'example.txt'でも実行されます。 @FredK。フレッドに感謝します。 –

1

実行]> [実行構成]> [Javaアプリケーション>「メインクラスを選択」>タブに移動し、「引数」>セクションで、「PROGRAMN引数は、」あなたはあなたとあなたのパスを定義することができますwant

1

練習の割り当てのルールはわかりませんが、コマンドラインからプログラムを実行する必要がなく、IDEの範囲内に留まるのを避けるために、ユーザーにファイル名変数として渡します。それはどんなファイル名でも機能するはずですが、ユーザーが探しているものを正確に知る責任があります(回避する方法を考えることができるかもしれません)。

希望に役立ちます!

関連する問題