2016-05-19 5 views
-1

"評価レポート"を印刷しようとしていますが、印刷しているのはすべてmov1.getのものです。また、私のプログラムにある他の問題も同様に指摘されるのに役立ちます。Javaプログラムでメイン以外の印刷方法が動作しない

public class PopulatePracticec { 

    static int countG; 
    static int countPG; 
    static int countPG13; 
    static int countR; 

    public static void main(String[] args) throws FileNotFoundException { 

     Scanner inFile = new Scanner(new FileReader("D:\\finalData.in")); 
     Scanner inFile2 = new Scanner(new FileReader("D:\\finalDataCategories.in")); 

     do { 
      inFile.nextLine(); 
      String Id = inFile.next(); 

      String title = inFile.next(); 

      String releaseYear = inFile.next(); 

      String runTime = inFile.next(); 

      String rating = inFile.next(); 

      inFile2.nextLine(); 

      String id2 = inFile2.next(); 

      String genre = inFile2.next(); 

      Practicec mov1 = new Practicec(); 

      mov1.setId(Id); 
      mov1.setTitle(title); 
      mov1.setReleaseYear(releaseYear); 
      mov1.setRunTime(runTime); 
      mov1.setRating(rating); 
      mov1.setGenre(genre); 

      System.out.println(mov1.getId()); 
      System.out.println(mov1.getTitle()); 
      System.out.println(mov1.getReleaseYear()); 
      System.out.println(mov1.getRunTime()); 
      System.out.println(mov1.getRating()); 
      System.out.println(mov1.getGenre()); 

     } 
     while (inFile.hasNext()); 
     inFile.close(); 
     inFile2.close(); 
    } 

    public static void processRating(String rating) { 
     switch (rating) { 

      case "G": 
       countG++; 
       break; 

      case "PG": 
       countPG++; 
       break; 

      case "PG13": 
       countPG13++; 
       break; 

      case "R": 
       countR++; 
       break; 
     } 
    } 
    public static int lookG() { 
     return countG; 
    } 
    public static int lookPG() { 
     return countPG; 
    } 
    public static int lookPG13() { 
     return countPG13; 
    } 
    public static int lookR() { 
     return countR; 
    } 
    public static void outputLines(String rating) { 
     System.out.println("Ratings Report"); 
     System.out.println(); 
     System.out.println("G = " + countG); 
     System.out.println("PG = " + countPG); 
     System.out.println("PG13 = " + countPG13); 
     System.out.println("R = " + countR); 
    } 
} 
+1

あなたの 'main'メソッドは' outputLines'を呼び出さないので、なぜそれらを印刷する必要がありますか?タイプミスとして閉じる投票。 –

+0

@SotiriosDelimanolis * typo *? – UDKOX

+1

@UDKOX _typo_ "彼らは何をしても意味がありませんでした。何か他の人には役に立たず、したがってこのサイトでは価値がほとんどありません"。 –

答えて

0

ここでは、作成したoutputLinesメソッドを呼び出していないと言います。あなたのメインメソッド内で、outputLinesメソッドを呼び出して、パラメータの評価を保持する文字列を渡す必要があります。メソッドが呼び出されると、メソッド内にコードが出力されます。問題は、ちょうどoutputLinesメソッドを呼び出さなかったので、表示される方法がないことです。

それは次のようになります。

outputLines(String r); // r holds a copy of the values stored in ratings 

をまた、あなたは何ができるかがoutputLinesのようなメソッドを持つのではなく、ある、あなたは、印刷に必要なすべての値を渡すことが可能なtoStringメソッドを作成することができます格付けは内容を見直し、フォーマットされ連結された文字列を返します。

これはあなたを助けました。

+0

また、あなたができることは、outputLinesのようなメソッドを持つ代わりに、評価レビューの内容を印刷し、フォーマットされ連結された文字列を返すために必要なすべての値を渡すことができるtoStringメソッドを作成することです。 –

+0

あなたの答えはおそらく[編集](http://stackoverflow.com/posts/37312780/edit)です。 – shmosel

+0

具体的な理由はありますか? –

関連する問題