java - 为什么我的 PairTester 类结果为零?

标签 java math

每次我运行我的 PairTester 类时,我的每个结果都会得到零。谁能告诉我为什么?

public class Pair {
    private double val1;
    private double val2;

    public Pair(double aFirst, double aSecond) {
        aFirst = val1;
        aSecond = val2;
    }

    public double getSum() {
        double sum = val1 + val2;
        return sum;
    }

    public double getDifference() {
        double difference = val1 - val2;
        return difference;
    }

    public double getProduct() {
        double product = val1 * val2;
        return product;
    }

    public double getAverage() {
        double average = (val1 + val2) / 2;
        return average;
    }

    public double getAbsolute() {
        double absolute = Math.abs(val1 - val2);
        return absolute;
    }

    public double getMinimum() {
        double minimum = Math.min(val1, val2);
        return minimum;
    }

    public double getMaximum() {
        double maximum = Math.max(val1, val2);
        return maximum;
    }
}

这是我的测试类:

public class PairTester {
    public static void main(String[] args) {
        Pair myPair = new Pair(11, 15);
        System.out.println("Sum = " + myPair.getSum());
        System.out.println("Difference = " + myPair.getDifference());
        System.out.println("Average = " + myPair.getAverage());
        System.out.println("Absolute = " + myPair.getAbsolute());
        System.out.println("Minimum = " + myPair.getMinimum());
        System.out.println("Maximum = " + myPair.getMaximum());
    }
}

最佳答案

您在构造函数中的赋值被颠倒了,因此您的实例字段没有按预期进行初始化。:

改变这个

public Pair (double aFirst, double aSecond)
{
    aFirst = val1;
    aSecond = val2;
}

到:

public Pair (double aFirst, double aSecond)
{
    val1 = aFirst;
    val2 = aSecond;
}

因为没有值分配给 val1val2 实例字段所以这些字段将被初始化为 double 默认值 0.0d.

关于java - 为什么我的 PairTester 类结果为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19215898/

相关文章:

java - 使用事件更改绘图程序中线条的颜色

java - 禁用 logger.debug 会影响性能吗?

java - 简单统计 - 用于计算平均值、标准差等的 Java 包

java - 主要在 X 和 Y 轴上绘制的圆圈,为什么?

algorithm - 确定 big-O 运行时时处理 1/2^n?

java - Byte Buddy 未加载类并抛出未找到类

java - Maven 更新项目后项目结构发生了变化,源文件夹的包含和排除模式也发生了变化

java - spring-eureka-common maven 依赖已被替换吗?

java - 如何在Java中使用方括号进行数学运算?

Javascript 或 Jquery 四舍五入到小数点后一位