计算平均值时的意外返回值?

时间:2015-01-30 18:15:12

标签: java getter getter-setter bluej

我无法在getter方法中返回“average”变量的值。我一直收到错误“不兼容的类型:意外的返回值”但是这个值是在setter方法中定义的?

我找了一个类似的问题,但找不到任何接近这个

的内容
public class Student {

    private String firstName;
    private String lastName;
    private int score1, score2, score3;
    private int average;



      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 void setScore1(String newvalue){
      score1 = Integer.parseInt(newvalue);
    }
      public int getScore1(int newvalue){
      return score1;
    }
      public void setScore2(String newvalue){
      score2 = Integer.parseInt(newvalue);
    }
      public int getScore2(int newvalue){
      return score2;
    }
      public void setScore3(String newvalue){
      score3 = Integer.parseInt(newvalue);
    }
      public int getScore3(int newvalue){
      return score3;
    }
      public int setAverage(int newvalue){
      average = (score1 + score2 + score3)/3;
    }
      public void getAverage(String newvalue){
      return average;
    } 
}

1 个答案:

答案 0 :(得分:3)

因为您的getAverage(String newvalue)方法的函数定义包含返回类型为void,并且您从该方法返回值。

  

函数中返回类型设置为void的任何方法   定义/声明不应该返回任何值。

请更正为: -

public int getAverage(String newvalue){
  return average;