运行Math.Round的错误

问题描述 投票:1回答:4

我正在参加我的工作批准的一些Lynda.com课程,并希望学习一些Java。有人可以告诉我为什么我的Round和Absolute功能会出错吗?

我看到的错误是'无法解决方法圆(双)'。我得到绝对值相同的错误。我正在做的就是复制教练给我的东西。

我只是做一些简单的数学计算:

public class Math {

    public static void main(String[] args) {
        int intValue1 = 56;
        int intValue2 = 42;

        int result1 = intValue1 + intValue2;
        System.out.println("Addition: " + result1);

        int result2 = intValue1 - intValue2;
        System.out.println("Subtraction: " + result2);

        int result3 = intValue1 * intValue2;
        System.out.println("Multiplication: " + result3);

        double result4 = (double) intValue1 / intValue2;
        System.out.println("Division: " + result4);

        int result5 = intValue1 % intValue2;
        System.out.println("Remainder: " + result5);

        double doubleValue = -3.999999;
        long rounded = Math.round(doubleValue);
        System.out.println("Rounded: " + rounded);

        double absValue = Math.abs(doubleValue);
        System.out.println("Absolute: " + absValue);
    }
}

如果我没有正确执行代码标签,也请告诉我?

java
4个回答
2
投票

问题是你的类被称为Math,所以编译器正在你的类上寻找一个方法round(),它不存在。

将您的类重命名为MyJavaLesson或某些,然后编译器将知道您需要来自java.lang.Math的方法。

你永远不应该在java包下用任何名称命名你自己的类,因为它通常会导致混淆(就像它在这里一样)。


0
投票

看看是否将double doubleValue替换为float doubleValue可以帮助你.Math.round()函数将浮动视为其争论。别忘了在浮点数赋值之后添加f,即float doubleValue = -3.999f


0
投票

这里的主要问题是这个类名为Math(在最顶层:公共类Math {)。这会覆盖java提供的Math工具包。如果你把你的类命名并归档为其他东西,它应该没问题。附:通常按照惯例,我们不在类和文件名中使用大写字母;避免这些发生。


0
投票

谢谢大家的帮助。此外,不确定在这个论坛上是否允许提出这个问题,但只是好奇其他人如何学习Java?我正在考虑在社区大学上课,但想知道我是不是更好地从Lynda.com,Udemy和Coursera学习。

© www.soinside.com 2019 - 2024. All rights reserved.