2017-07-19 16 views
1

ここでJavaの初心者は、私が学生オブジェクトを作成するためのクラスを作成し、ドライバーを作成する必要がある割り当ての1つがあります。Javaでゲッタークラスのユーザー入力を受け入れる

私はこの問題を抱えていますが、「テスト番号を受け取り、適切なスコアを返すgetTestScoreメソッドを作成する」以外は、すべての必要条件を満たしています。

私はクラスを正しく書いたと思いますが、ドライバのコードを書くのに問題があります。

ユーザーがテスト番号を入力するように求めるプロンプトが表示された後、何も返されず、プログラムは適切なスコアを返すように終了します。

お願いします。ここで

クラスです:

public class Student 
{ 
    private String firstName, lastName; 
    private String homeAddress, schoolAddress; 
    private int testScore1, testScore2, testScore3; 

    //Constructors 
    public Student() 
    { 
     firstName = "None"; 
     lastName = "None"; 
     homeAddress = "None"; 
     schoolAddress = "None"; 
     testScore1 = 0; 
     testScore2 = 0; 
     testScore3 = 0; 
    } 

    public Student(String first, String last, String home, String school, int score1, int score2, int score3) 
    { 
     firstName = first; 
     lastName = last; 
     homeAddress = home; 
     schoolAddress = school; 
     testScore1 = score1; 
     testScore2 = score2; 
     testScore3 = score3; 
    } 

    //Setter for test scores 
    public void setTestScore(int testNum, int score) 
    { 
     if (testNum == 1) 
      testScore1 = score; 
     else 
      if (testNum == 2) 
       testScore2 = score; 
      else 
       if (testNum == 3) 
       testScore3 = score; 
       else 
       throw new IllegalArgumentException(testNum + " is out of range"); 
     } 
    //Getter for test scores 
    public int getTestScore(int testNum2) 
    { 
     if (testNum2 == 1) 
      return testScore1; 
     else 
      if (testNum2 == 2) 
       return testScore2; 
      else 
       if (testNum2 == 3) 
       return testScore3; 
       else 
       throw new IllegalArgumentException(testNum2 + " is out of range"); 
     } 
    //Calculates average for each student 
    public int getAverage() 
    { 
     int average = (testScore1 + testScore2 + testScore3)/3; 
     return average; 
    } 
    //Returns a description of this Student object 
    public String toString() 
    { 
     String result; 

     result = firstName + " " + lastName + "\n"; 
     result += "Home Address:\n" + homeAddress + "\n"; 
     result += "School Address:\n" + schoolAddress + "\n"; 
     result += "Test Score 1:\n" + testScore1 + "\n"; 
     result += "Test Score 2:\n" + testScore2 + "\n"; 
     result += "Test Score 3:\n" + testScore3 + "\n"; 
     result += "Average Test Score:\n" + ((testScore1+testScore2+testScore3)/3); 

     return result; 
    } 
} 

そして、ここでドライバです:

package lab7; 

import java.util.Scanner; 

public class StudentBody { 

    public static void main(String[] args) 
    //Create student objects 
    { 
     Student snm24 = new Student("Sarah", "M", "18 79th Street", "5000 Forbes Ave.", 95, 80, 63); 
     Student adk28 = new Student("Andrew", "K", "16 Collins Ave.", "16401 NW 37th Ave.", 90, 82, 76); 

     //Get average for snm24 
     snm24.getAverage(); 
     System.out.println("snm24 average initial: " + snm24.getAverage()); 

     //Set new test score for test 3 for snm24 and see new average 
     snm24.setTestScore(3, 68); 
     System.out.println("snm24 average after adjustment: " +snm24.getAverage()); 

     //Get test score for adk28 
     Scanner scan = new Scanner(System.in); 
     System.out.println("Which test score are you looking for?:"); 
     int testNum2 = scan.nextInt(); 
     adk28.getTestScore(testNum2); 
    } 
} 
+0

このここadk28.getTestScore (testNum2); –

答えて

1

それが戻っていないものとプログラムが終了します。ヘルプは非常に高く評価されています!

ここで、この>

adk28.getTestScore(testNum2); 

返される値は..それと何かを、それを印刷し、それを変数に割り当てる迷子にされています

int result = adk28.getTestScore(testNum2); 
+0

うわー、これはすばやい修正です。 –

+0

は私が初心者だったと言った:Xお手伝いをしてくれてありがとう! – thegatifather

+0

問題はありません...私たちはすべてここに学びます –

関連する問題