java中使用两个类的两个数之和

java中使用两个类的两个数之和,java,Java,我想把两个数求和。但我在这方面有困难。我不明白为什么我的和总是零 甲级 public class A { int a=3 ,b=4; public static void main(String[] args) { B obj= new B(); obj.prod(); } } B类 public class B { int a, b; public void prod() { System.out.print(a+b); } } 未初始化的基元字段具有默认值。在in

我想把两个数求和。但我在这方面有困难。我不明白为什么我的和总是零

甲级

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

 public class B {

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

}

未初始化的基元字段具有默认值。在
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);
     }
}

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

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;
    }
}

您正在初始化类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);
 }

}

您从未在类
b
中初始化
a
b
,因此它们默认设置为
0
;而
0+0=0
a
b
a
b
b
a
无关。未初始化时,基本字段有一个默认值,即
0
用于
int
sSo如何使用两个类打印7将类a中的值作为参数传递到prod方法次要挑剔:方法名称应与其功能相符。两个数字相加产生的是和,而不是乘积。您的方法应该命名为
printSum()
,而不是
prod()
。谢谢您的回答。我会在7分钟后完成。谢谢你的回答。真的很有帮助
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);
 }

}