我想要两个数字的总和。但我这样做有问题。我不明白为什么我的总和总是为零。
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);
}
}
答案 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);
}
}