有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么编译这个类时会看到“找不到符号”?

我有一个有四个构造函数的类。当我试图编译主类时,在代码片段的最后一行出现错误“找不到符号”。但是这个类的每个构造函数都定义了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;

共 (2) 个答案

  1. # 1 楼答案

    您需要将其设置为字段,而不是局部变量:

    public class PowerTwo {
    
    private final BigDecimal value;
    

    它应该在构造函数之外

  2. # 2 楼答案

    您在每个构造函数中定义的局部变量不在上一个构造函数的作用域中。将其改为类的属性