【问题标题】:unexpected return value when computing average?计算平均值时的意外返回值?
【发布时间】:2015-03-30 07:10:29
【问题描述】:

我无法在我的 getter 方法中返回“平均”变量的值。我不断收到错误“不兼容的类型:意外的返回值”,但该值是在上面的 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;
    } 
}

【问题讨论】:

  • void 方法返回任何东西有点困难。

标签: java getter getter-setter bluej


【解决方案1】:

因为您的 getAverage(String newvalue) 方法有一个函数定义,其返回类型为 void,而您正在从该方法返回值。

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

请将其更正为:-

public int getAverage(String newvalue){
  return average;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 2012-06-19
    • 2021-11-11
    相关资源
    最近更新 更多