2016-09-29 37 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

[歡迎使用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(正則表達式)」梅索德進一步處理從該文件的輸入信息。 (例如用空格分割String.split(「\ s +」);)

至於將信息添加到數組;您可以嘗試使用ArrayList及其.add()方法,而不是現在使用的對象Array。

0

Movie_Class的構造函數方法應該是public Movie_Class而不是public Movie_18512117。這是第一個錯誤。詳細瞭解constructors。 然後你就可以通過調用

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

在構造函數中創建一個新的Movie_Class對象,你必須輸入影片的所有細節,而不僅僅是ID。如果你想創建一個只ID電影對象,你應該定義一個新的構造,只有ID作爲輸入值,如以下

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

可以使用,而不是一個數組ArrayList中,如果你想添加對象,而不知道你應該存儲的元素的確切數量。閱讀關於ArrayLists和其他收藏here。 嘗試先解決這些錯誤。然後你可以繼續。

相關問題