我有一个包含四个构造函数的类。当我尝试编译主类时,我在此代码片段的最后一行收到错误“找不到符号”。但是这个类的每个构造函数都定义了value
,所以我不知道发生了什么。我错过了什么?
import java.math.BigDecimal;
public class PowerTwo {
public PowerTwo(int n){
final BigDecimal value = new BigDecimal(n);
}
public PowerTwo(long n){
final BigDecimal value = new BigDecimal(n);
}
public PowerTwo(BigDecimal n){
final BigDecimal value = n;
}
public PowerTwo(String n){
final BigDecimal value = new BigDecimal(n);
}
public int power(){
BigDecimal two = new BigDecimal("2");
BigDecimal remainder = value;
答案 0 :(得分:4)
您需要将其设为字段,而不是局部变量:
public class PowerTwo {
private final BigDecimal value;
它应该在构造函数之外。
答案 1 :(得分:1)
您在每个构造函数中定义一个局部变量,该变量不在最后一个构造函数的范围内。把它变成班级的财产。