2016-09-29 10 views
-3

オブジェクトの配列にファイルを読み込み、Movie classからファイルを読み込み、結果を出力しようとしています。オブジェクトの配列にtxtファイルを読み込み、結果を出力できません。

public class Movie_Class { 
    private int MovieID; 
    private String MovieTitle; 
    private String Director; 
    private String Writer; 
    private String Duration; 
    private String Genre; 
    private String Classification; 
    private String ReleaseDate; 
    private Double Rating; 

    public Movie_18512117(int ID, String Title, String Mdirector, String Mwriter, 
String Mduration, String Mgenre, String Mclassification, String MreleaseDate, Double Mrating) { 

    MovieID = ID; 
    MovieTitle= Title; 
    Director= Mdirector; 
    Writer= Mwriter; 
    Duration= Mduration; 
    Genre= Mgenre; 
    Classification= Mclassification; 
    ReleaseDate= MreleaseDate; 
    Rating= Mrating; 
    } 

    public int getMovieID(){ 
    return MovieID; 
    } 

    public String getMovieTitle(){ 
    return MovieTitle; 
    } 

    public String getDirector(){ 
    return Director; 
    } 

    public String getWriter(){ 
    return Writer; 
    } 

    public String getDuration(){ 
    return Duration; 
    } 

    public String getGenre(){ 
    return Genre; 
    } 

    public String getClassification(){ 
    return Classification; 
    } 

    public String getReleaseDate(){ 
    return ReleaseDate; 
    } 

    public Double getRating(){ 
    return Rating; 
    } 

    public void setMovieID(int MovieID) { 
    this.MovieID = MovieID; 
    } 

    public void setMovieTitle(String MovieTitle){ 
    this.MovieTitle = MovieTitle; 
    } 

    public void setDirector(String Director) { 
    this.Director = Director; 
    } 

    public void setWriter(String Writer) { 
    this. Writer = Writer; 
    } 

    public void setDuration(String Duration) { 
    this. Duration = Duration; 
    } 

    public void setGenre(String Genre) { 
    this.Genre = Genre; 
    } 

    public void setClassification(String Classification){ 
    this.Classification = Classification; 
    } 

    public void setReleaseDate(String ReleaseDate){ 
    this.ReleaseDate = ReleaseDate; 
    } 

    public void setRating(Double Rating){ 
    this.Rating = Rating; 
    } 
} 

import java.io.File; 
import java.util.Scanner; 
import java.io.FileNotFoundException; 

public class movie { 
    public static void main(String[] args) throws FileNotFoundException { 
    File myFile = new File ("movieLibrary.txt"); 
    Scanner inputFile = new Scanner(myFile); 
    String str; 
    Movie_Class[] movie = new Movie_Class[100]; 
    String[] tokens; 

    while (inputFile.hasNext()){ 
     str=inputFile.next(); 
     tokens = str.split(","); 
     for(int i = 0; i < movies.length; i++){ 
     movie[i] = new Movie_18512117(1); 

//I don't know how to read the lines in to //my array and split the spaces, then print the result. 

     System.out.println(movie); 
     } 
    } 
    inputFile.close(); 
    } 
} 
+1

[Welcome to Stackoverflow](http://stackoverflow.com/help/how-to-ask)どの問題が発生したか、修正しようとしていますか? –

+0

問題を説明するのを忘れて質問をしました。 – csmckelvey

答えて

0

入力ストリームを反復処理する場合は、スキャナの代わりにBufferedReaderクラスとFileReaderクラスを使用してみてください。また

https://www.mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/

は、あなたが「.split(正規表現)」Methodeのは、さらに、ファイルからの着信情報を処理するために使用することができます。リンクでこれを行うにはどのように便利なチュートリアルがあります。 (例:String.split( "\ s +");でスペースに分割)

情報を配列に追加する方法は次のとおりです。今使っているオブジェクト配列の代わりにArrayListとその.add()メソッドを使ってみることもできます。

0

Movie_Classのコンストラクタメソッドはpublic Movie_Classでなく、public Movie_18512117である必要があります。それは最初の間違いです。 constructorsについてもっと読む。 そして、あなたは、コンストラクタで

movie[i] = new Movie_Class(...); 

を呼び出して新しいMovie_Classオブジェクトを作成することができ、あなたが入力する映画だけではなく、IDのすべての詳細を持っています。あなただけのIDを持つムービーオブジェクトを作成したい場合は、あなたがオブジェクトを追加したい場合は、配列の代わりのArrayListを使用することができます

public Movie_Class (int ID) { 
    // Do whatever you want 
} 

を以下のように、唯一のID入力値として持つ新しいコンストラクタを定義する必要がありますあなたがそれに格納すべき要素の正確な数を知らなくても。 ArrayListsと他のコレクションhereについて読む これらのエラーを最初に修正してください。その後、あなたは行くことができます。

関連する問題