zhangnana666777 2017-04-05 07:56 采纳率: 0%
浏览 2960
已采纳

新手 java 在构造函数中给类中的变量赋值问题

package complex_number;
import java.util.*;

public class ComplexNumber {

public static void main(String[] args){
    java.util.Scanner scanner = new java.util.Scanner(System.in);
    float m_dRealPart;
    float m_dImaginPart;

    System.out.println("Please enter the real and imaginary parts of the plural:");
    m_dRealPart=scanner.nextFloat();
    m_dImaginPart=scanner.nextFloat();
    System.out.println("\n");
    System.out.println("What kind of operation do you want to do? (1 Plus, 2 minus, 3 multiply, 4 divide)");
}

/*构造函数,ComplexNumber,将实部和虚部置0*/
public ComplexNumber(){
m_dRealPart=0;
m_dImaginPart=0;
}

    请问在构造函数的时候为什么会错?
  • 写回答

3条回答 默认 最新

  • 厄页木一化十 2017-04-05 08:05
    关注

    这两个变量的作用域有问题,是在main入口函数中定义的,但是却在构造函数中使用,这个是不行的。你可以把两个变量定义为类级的,然后两个函数中就可以用了。
    package complex_number;
    import java.util.*;
    public class ComplexNumber {
    float m_dRealPart;
    float m_dImaginPart;_**
    public static void main(String[] args){
    java.util.Scanner scanner = new java.util.Scanner(System.in);

    System.out.println("Please enter the real and imaginary parts of the plural:");
    m_dRealPart=scanner.nextFloat();
    m_dImaginPart=scanner.nextFloat();
    System.out.println("\n");
    System.out.println("What kind of operation do you want to do? (1 Plus, 2 minus, 3 multiply, 4 divide)");
    

    }

    public ComplexNumber(){
    m_dRealPart=0;
    m_dImaginPart=0;
    }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?