char无法取消引用

时间:2016-10-17 21:59:26

标签: java compiler-errors char

我正在进行一项需要使用get和set方法转换温度的赋值。但是,当我尝试编写setMethod时,U得到一个错误,称“char不能被解除引用”。这是我的代码;

public void setTemp(double temp, char scale){
    // - sets the objects temperature to that specified using the 
    //   specified scale ('K', 'C' or 'F')
    if (scale.isLetter("K")){
      temp = temp + 273;
    }else if (scale.isLetter("C")){
      temp = temp;
    }else if (scale.isLetter("F")){
      temp = ((9 * temp) / 5 ) + 32;
  }
}

2 个答案:

答案 0 :(得分:3)

原语(例如char)没有方法。但是,您似乎只是在寻找一个简单的平等测试。

编辑:
正如Elliott Frisch在评论中指出的那样,您需要使用this.temp来引用您的数据成员,因为temp参数隐藏了它:

public void setTemp(double temp, char scale){
    // - sets the objects temperature to that specified using the 
    //   specified scale ('K', 'C' or 'F')
    if (scale == 'K'){
      this.temp = temp + 273;
    } else if (scale == 'C') {
      this.temp = temp;
    } else if (scale == 'F') {
      this.temp = ((9 * temp) / 5 ) + 32;
  }
}

答案 1 :(得分:2)

你不能在基元上调用方法,而char是原始的!

使用

if (scale == 'K')

等比较字符。