使用两个类的java中两个数字的总和

时间:2018-02-07 10:05:42

标签: java

我想要两个数字的总和。但我这样做有问题。我不明白为什么我的总和总是为零。

A级

 public class A {
 int a=3 ,b=4;
 public static void main(String[] args) {
 B obj= new B();
 obj.prod();
}
}

CLASS B

 public class B {

int a, b;
public void prod()
{
    System.out.print(a+b);
}

}

4 个答案:

答案 0 :(得分:1)

   public class A {
   int a=3 ,b=4;
   public static void main(String[] args) {
   B obj= new B();
  obj.prod(a,b);
 } 
}

 public class B {
 public void prod(int a, int b)
{
 System.out.print(a+b);
} 

}

答案 1 :(得分:1)

未初始化的原始字段具有默认值。在int的情况下,此值为0

要将类A中的值传递给B,您应该实现一个带有两个参数的构造函数

public class B {
    int a, b;

    public B(int a, int b) 
    {
        this.a = a;
        this.b = b;
    }

    public void prod()
    {
        System.out.print(a+b);
    }

}

然后在您的班级A中,像这样调用B的构造函数:

 public class A {
     int a=3 ,b=4;
     public static void main(String[] args) {
         B obj= new B(a, b);
         obj.prod();
     }
}

另一种方法是为方法prod()提供参数:

public void prod(int a, int b)
{
    System.out.print(a+b);
}

然后叫它:

public class A {
     int a=3 ,b=4;
     public static void main(String[] args) {
         B obj= new B();
         obj.prod(a, b);
     }
}

答案 2 :(得分:0)

我认为以下代码可以帮助您:

public class A {

    public static void main(String[] args) {
        // create object B, passing aa=3, bb=4 to B's constructor
        B objectB = new B(3, 4);

        // this will return result as "12"
        int result = objectB.prod();
    }

}

public class B {
    // declare member variables
    private final int a;
    private final int b;

    // B's constructor
    public B (int aa, int bb) {
        // set values passed in to member variables
        this.a = aa;
        this.b = bb;
    }

    public int prod() {
        int result = this.a + this.b;

        // print result
        System.out.print(result + "");

        // return result to caller
        return result;
    }
}

答案 3 :(得分:0)

您正在初始化A类中的值。这些在B类中不可用。要么传递B类的构造函数,要么传递给方法prod()。 您需要修改您的课程如下:

public class A {
 int a = 3, b = 4;
 public static void main(String[] args) {
  B obj = new B(a, b);
  obj.prod();
 }
}

public class B {

 int a, b;

 b(int a, int b) {
  this.a = a;
  this.b = b;
 }
 public void prod() {
  System.out.print(a + b);
 }

}
//OR
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
public class A {
 int a = 3, b = 4;
 public static void main(String[] args) {
  B obj = new B();
  obj.prod(a, b);
 }
}
//CLASS B

public class B {

 int a, b;
 public void prod(int a, int b) {
  System.out.print(a + b);
 }

}