构造函数名是aaa,错了忘了改过来了~~

解决方案 »

  1.   

    import java.io.*;public class aaa{
    double a;
    double b;
    aaa()
    {
    a=10;
    b=5;
    } public double add(){
    return a+b;
    }

    public double sub(){
    return a-b;
    }

    public double mul(){
    return a*b;
    }

    public double shang(){
    return a/b;
    }

    public static void main(String [] args){
    aaa k=new aaa();
    System.out.println("a+b = "+k.add());
    System.out.println("a-b = "+k.sub());
    System.out.println("a*b = "+k.mul());
    System.out.println("a/b = "+k.shang());
    }
    }
      

  2.   

    new "aaa"
    調用時是"k."
    是不是開始時class 定義成了"k",後來改成了"aaa",但調用的時候忘了改了,樓主也太馬虎了吧
      

  3.   

    import java.io.*;public class aaa{
    double a;
    double b;
    aaa()                                //构造函数写错
    {
    a=10;
    b=5;
    } public double add(){
    return a+b;
    }

    public double sub(){
    return a-b;
    }

    public double mul(){
    return a*b;
    }

    public double shang(){
    return a/b;
    }

    public static void main(String [] args){
    aaa k=new aaa();                        //实例化k丢了
    System.out.println("a+b = "+k.add());
    System.out.println("a-b = "+k.sub());
    System.out.println("a*b = "+k.mul());
    System.out.println("a/b = "+k.shang());
    }
    }
      

  4.   

    aaa=new aaa();这行有错,请再改正一下吧,楼主
      

  5.   

    public void main(String [] args)
    这行也有错
      

  6.   

    还有在构造函数前不要加上void 
    否则会返回空值
      

  7.   

    public class aaa{
    private double a,b;

    public void ch3_7(){
    a=10;
    b=5;
    }

    public double add(){
    return a+b;
    }

    public double sub(){
    return a-b;
    }

    public double mul(){
    return a*b;
    }

    public double shang(){
    return a/b;
    }

    public void main(String [] args){
    aaa=new aaa();                             错了构造函数的名字呢??
    System.out.println("a+b = "+k.add());
    System.out.println("a-b = "+k.sub());
    System.out.println("a*b = "+k.mul());
    System.out.println("a/b = "+k.shang());
    }
    }
      

  8.   

    public class aaa{
    private double a,b;

    public void ch3_7(){   //这一行是构造函数,构造函数的名字应该和类名字相同,否则
    a=10;         //系统默认你的构造函数
    b=5;
    }

    public double add(){
    return a+b;
    }

    public double sub(){
    return a-b;
    }

    public double mul(){
    return a*b;
    }

    public double shang(){
    return a/b;
    }

    public void main(String [] args){
    aaa=new aaa();                 //少了k,所以出错了啊
    System.out.println("a+b = "+k.add());
    System.out.println("a-b = "+k.sub());
    System.out.println("a*b = "+k.mul());
    System.out.println("a/b = "+k.shang());
    }
    }
      

  9.   

    哦,错了,好像不需要delete了...
      

  10.   

    改后的程序:
    public class aaa{
    private double a,b;

    public void aaa(){
    a=10;
    b=5;
    }

    public double add(){
    return a+b;
    }

    public double sub(){
    return a-b;
    }

    public double mul(){
    return a*b;
    }

    public double shang(){
    return a/b;
    }

    public static void main(String [] args){
    aaa k=new aaa();
    System.out.println("a+b = "+k.add());
    System.out.println("a-b = "+k.sub());
    System.out.println("a*b = "+k.mul());
    System.out.println("a/b = "+k.shang());
    }
    }
    出来的结果是: 
    a+b=0.0
    a-b=0.0
    a*b=0.0
    a/b=NaN 
    为什么会这样~??声明的同时不是应该自动调用构造函数的吗~??那应该a和b都赋值了啊??为什么还会是0呢??
      

  11.   

    TO:fishfish__flying(fishfish__flying)
     因为你没有定义类aaa的构造函数.所以当你aaa k = new aaa();的时候,它调用的是默许的构造函数.
    由于a,b是aaa的数据成员,所以是全局变量,double型的数据被默认赋为0.0,因此会出现你给的那种情况.
     关键注意这句程序:public void aaa(){
    a=10;
    b=5;
    }
     它是定义一个普通的函数,而不是aaa的构造函数.
    如果你改成:public aaa(){
    a=10;
    b=5;
    }
    就一切OK了:-)
      

  12.   

    aaa=new aaa();没有对象,所有出现异常.
    因为你没有定义类aaa的构造函数.a,b没有值
    或者你先aaa k = new aaa(),再k.ch3_7(),
    k.add......;