为什么我不能计算“长”的平方根? (幼儿程序员)

时间:2017-07-28 21:28:20

标签: java long-integer square-root

好吧,所以我两天前就开始学习Java了。我使用的是Java SE和Netbeans 8.0.2,并且我编写了一些非常基本的应用程序。但是,我试图找到一个32-64位数(一个“长”)的平方根,并且我一直收到错误。我究竟做错了什么?

class Root {
    public static void main(String[] arguements) {
        long number;
        number = 2500000000;
        System.out.println("The square root of "
              + number
              + " is "
              + Math.sqrt(number)
        );
    }
}

1 个答案:

答案 0 :(得分:1)

可能的问题是Math.sqrt只接受双参数。解决方案只是从长到两次投射。

Math.sqrt((double)number);

除此之外,长期正式以后缀l或L结尾。这未添加到您的长变量中,因此可能导致问题。