2016-11-26 10 views
0

私のプログラムでは、入力ファイルと出力ファイルをコンソールに持っています。ここでは、ファイルI/Oを配列で使用しましたが、今度はメソッドを使用してプログラムを実装したいと思います。 私のプログラムでメソッドを使用するにはどうすればいいですか?おかげさまで ここでarray in methodの使い方は?

が私のコードです:

public class score { 

    public static void main(String[] args) throws FileNotFoundException { 
     // TODO Auto-generated method stub 
     JFileChooser jfc = new JFileChooser("."); 
     int jfcUserOption = jfc.showOpenDialog(null); 
     if (jfcUserOption == JFileChooser.APPROVE_OPTION){ 
      File chosenFile = jfc.getSelectedFile(); 

      Scanner input = new Scanner(chosenFile); 


      int n = input.nextInt(); 
      double[] score = new double[n]; 
      int bestScore = 0; 


      for(int i = 0; i < n; i++) { 
       score[i] = input.nextDouble(); 
       if (bestScore < score[i]){ 
        bestScore = (int) score[i]; 
        } 
       } 

      char grade; 
      for (int i = 0; i < n; i++){ 
       if (score[i] >= bestScore - 15) 
        grade = 'A'; 
       else if (score[i] >= bestScore - 25) 
        grade = 'B'; 
       else if (score[i] >= bestScore - 35) 
        grade = 'C'; 
       else if (score[i] >= bestScore - 45) 
        grade = 'D'; 
       else 
        grade = 'F'; 

       System.out.println("Student " + (i + 1)+" score is " + score[i] +" and grade is " + grade); 

      } 


     } 

    } 

} 
+0

[このチュートリアル](https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html)を試してください。 – ajb

答えて

0

あなたがする方法を使用したいものによっては、方法が有用である理由、これがある[オプションの多くを持っています。

それを考えるための良い方法は、あなたのmain()メソッドを呼び出すことができる、独自の方法、にステップまたはアクションを抜け出すことです:

は、例えば、ここで我々は(新しいメソッドfindBestScoreを定義する)、そのいくつか不足している輸入品があるので、これは、しかし、コンパイルされません

public class score { 

public static void main(String[] args) throws FileNotFoundException { 
    // TODO Auto-generated method stub 
    JFileChooser jfc = new JFileChooser("."); 
    int jfcUserOption = jfc.showOpenDialog(null); 
    if (jfcUserOption == JFileChooser.APPROVE_OPTION){ 
     File chosenFile = jfc.getSelectedFile(); 

     Scanner input = new Scanner(chosenFile); 


     int n = input.nextInt(); 
     double[] score = new double[n]; 
     int bestScore = findBestScore(); 

     char grade; 
     for (int i = 0; i < n; i++){ 
      if (score[i] >= bestScore - 15) 
       grade = 'A'; 
      else if (score[i] >= bestScore - 25) 
       grade = 'B'; 
      else if (score[i] >= bestScore - 35) 
       grade = 'C'; 
      else if (score[i] >= bestScore - 45) 
       grade = 'D'; 
      else 
       grade = 'F'; 

      System.out.println("Student " + (i + 1)+" score is " + score[i] +" and grade is " + grade); 

     } 


    } 

} 

public int findBestScore() { 

    int bestScore; 

    for(int i = 0; i < n; i++) { 

     score[i] = input.nextDouble(); 
      if (bestScore < score[i]){ 
       bestScore = (int) score[i]; 
      } 
    } 

    return bestScore; 
} 

}

:我々は戻って、それがmain()メソッドで呼び出された場所にint型の値を返すために使用します。