我正在做一个练习,其中我必须创建方法 add
,但是由于 p 和 v 被定义为对象,我很难弄清楚如何才能按照练习中给出的语法定义此方法(只允许更改方法)。
我想添加两个输入 5 和 17,以便返回 22。我对其他问题做了很多研究,我看到他们将其写为 Positiv(p + v)
但这不太有效。
public class Positiv {
public static void main(String[] args) {
try {
Positiv p = new Positiv(5);
Positiv v = new Positiv(17);
p.add(v);
System.out.println(p.get());
} catch (Exception e) {
e.printStackTrace();
}
}
private int n;
public Positiv(int n) {
if (n < 0) { throw new IllegalArgumentException("exception");
}
this.n = n;
}
public static Positiv add(Positiv v)
{
return new Positiv(n + v);
}
public int get() {
return n;
}
}
最佳答案
在您的add
方法中:
public static Positiv add(Positiv v)
{
return new Positiv(n + v);
}
您返回一个全新的Positiv
对象。但是(如果我错了,请纠正我)看起来您只想添加两个 n
字段。您可以通过将 this.get
添加到 v.get
来做到这一点:
public void add(Positiv v)
{
this.n += v.get();
}
这将返回22
this
的教程
关于java - 我试图找到定义为数字的对象的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53696977/