java - 我试图找到定义为数字的对象的总和

标签 java

我正在做一个练习,其中我必须创建方法 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/

相关文章:

java - 从 GMAIL 应用程序和 Google MAIL 应用程序发送电子邮件时添加新行的不同行为

java - 如何在 SQLite 中解析 MySQL 时间戳

java - 使 Java 类通用,但仅适用于两种或三种类型

java - for循环打印无效值?

java - 数据表中的动态列取决于 Primefaces 中的用户输入

java - 合并重叠的日期范围 - Java

java - 分析器消息解析

java - java@jboss4.0和linux环境找不到方法

java - Firebase 查询以获取给定范围内的数据

java - 打开一个新的jframe,并在该jframe中显示指定的jpanel