2015-01-29 2 views
-1

Я пытаюсь написать программу в java, которая занимает 3 студенческие имена и оценки, а затем вычисляет в среднем их баллы. Вот подробный список того, чего я пытаюсь достичь:java- возвращает целое значение среднего балла?

  • Изменить класс ученика, чтобы иметь три новые переменные экземпляра типа int с именем score1, score2 и score3.
  • Измените класс Student, чтобы иметь метод с именем averageScore, который возвращает значение int, которое является средним из этих трех баллов.
  • Измените метод main, чтобы ввести три оценки для каждого из объектов-учеников, которые вы уже создали.
  • Распечатайте имя каждого ученика, за которым следует их средний балл как целое число.

StudentTester Основной класс

import javax.swing.JOptionPane; 

public class StudentTester { 

    public static void main(String args[]) { 
     Student student1 = new Student(); 
     Student student2 = new Student(); 
     Student student3 = new Student(); 


     String firstName; 
     String lastName; 

     //start first student here 
     firstName = JOptionPane.showInputDialog("Enter the student's first name."); 
     student1.setFirstName(firstName); 

     lastName = JOptionPane.showInputDialog("Enter the student's last name."); 
     student1.setLastName(lastName); 

     JOptionPane.showMessageDialog(null, "Student 1 has name " 
       + student1.getFirstName() + ""+ student1.getLastName() + "."); 

     score1 = JOptionPane.showInputDialog("Enter the student's score."); 
     student1.setScore(score1); 
      int student1; getScore(); 

     //start second student here 
     firstName = JOptionPane.showInputDialog("Enter the student's first name."); 
     student2.setFirstName(firstName); 

     lastName = JOptionPane.showInputDialog("Enter the student's last name."); 
     student2.setLastName(lastName); 

     JOptionPane.showMessageDialog(null, "Student 2 has name " 
       + student2.getFirstName() + "" + student2.getLastName() + "."); 

     score2 = JOptionPane.showInputDialog("Enter the student's score. "); 
     student2.setScore(score2); 

     //start third student here 
     firstName = JOptionPane.showInputDialog("Enter the student's first name."); 
     student3.setFirstName(firstName); 

     lastName = JOptionPane.showInputDialog("Enter the student's last name."); 
     student3.setLastName(lastName); 

     JOptionPane.showMessageDialog(null, "Student3 has name " 
       + student3.getFirstName() + "" + student1.getLastName() + "."); 

     //average score 


      } 
     } 

Студенческий класс

public class Student { 

    private String firstName; 
    private String lastName; 
    public int score1; 
    public int score2; 
    public int score3; 

    public void setFirstName(String name){ 
     firstName = name; 
    } 
    public String getFirstName(){ 
     return firstName; 
    } 
    public void setLastName(String name){ 
     lastName = name; 
    } 
    public String getLastName(){ 
     return lastName; 
    } 

    public String setScore(){ 
     int score1 = Integer.parseInt(score1Store); 
    } 

    //method for average score computation 
    public void score1 = Integer.parseInt(Score); 

    public double getAverageScore(){ 
     return double = (score1 + score2 + score3)/3.0; 

    } 
} 

Что я делаю неправильно? Я полностью потерян и не знаю, как настроить весь ввод и вычисление счета.

Спасибо.

+0

Вам нужно добавить (и вызов) 'setScore1 (INT)', 'setScore2 (интермедиат) и' setScore3 (интермедиат) 'теперь у вас есть три оценки ... не один. –

+1

StackOverflow не для того, чтобы заставить вас делать домашнее задание. Если вы полностью потеряны, вам нужно вернуться к базовым принципам и изучить базовый синтаксис. – SpacePrez

+0

@ Zaphod42 Rude, я просто прошу о каком-то направлении. – bretth18

ответ

0

В Студенте вы должны иметь score1, score2 и score3 в качестве переменных частного экземпляра в верхней части и иметь для них геттеры и сеттеры, как и для firstName и lastName. У вас могут быть отдельные геттеры и сеттеры для каждого из них, но есть несколько способов сделать это.

Вы можете вернуть целочисленное значение из getAverageScore как:

public int getAverageScore() { 
    float ans = (score1 + score2 + score3)/3.0f; 
    return Math.round(ans); 

Я использовал поплавок, потому что Math.round с двойным вернёт долго.

В основном методе вы можете установить баллы с помощью метода setScores().

student1.setScore1(score1); 
student1.setScore2(score2); 
student1.setScore3(score3); 

Для печати студентов, вы можете создать метод ToString в Student или вы получите использовать ваши добытчик, чтобы напечатать их. Метод ToString будет выглядеть так:

public String toString() { 
    return firstName + " " + lastName + " " + score1 + " " + score2 + " " + score3; 
} 
Смежные вопросы