【问题标题】:Simple Java Math简单的 Java 数学
【发布时间】:2013-06-23 03:35:37
【问题描述】:

所以我知道这非常简单,很抱歉不得不在这里问这个问题。不幸的是,我很困惑,没有人可以问...

无论如何,我正在尝试使用 Java 来解决以下等式:

 __________________
√ (3.1^17 + 2.7^11)

我现在的代码不起作用。它是:

public class Math
{
    public static void main(String[] args)
    {
        double a = 3.1
        double b = 2.7;

        double c = Math.sqrt(Math.pow(a,17) + Math.pow(b,11));

        System.out.println(c); 
   }
}

【问题讨论】:

  • “不起作用” - 这不是一个真正的问题。
  • 这段代码有什么问题?堆栈跟踪?
  • 考虑使用 IDE(例如 Eclipse)来缓解语义问题。
  • 我不同意这样的问题的触发愉快结束。一眼就能看出这段代码有什么问题。鉴于此,有机会帮助某人。
  • 以后你应该至少包含你得到的错误信息,或者如果没有,描述你运行它时代码的作用以及什么它应该做。这样人们就不必猜测了。这同样适用于您提出编程问题的任何地方,而不仅仅是 Stack Overflow。

标签: java math


【解决方案1】:

您的班级名称是 Math,您正在尝试调用 Math.function,您的班级中不存在该名称,您需要 refactor 您的班级名称并导入类库。

右键文件名Refactor > Rename

如果你的班级must 被命名为数学,你必须调用:

java.lang.Math.pow();

另一个问题是您在之后缺少;

double a = 3.1

解决这两个问题,您将拥有一个工作代码!

以后,请发布堆栈跟踪和具体问题。

【讨论】:

  • 不,这不是主要问题。
  • 我找到了主要问题并将其添加到答案中。我首先看到了第一个错误,因为对我来说它甚至无法编译。然后我注意到他们的班级名称是Math,并且没有导入真正的数学库。
  • 即使你修复了分号,它仍然无法编译,所以你认为修复分号后发现问题的建议是可疑的。
  • 我没有复制整个代码,因为我已经在eclipse中设置了一个项目,我只是复制了main的正文
【解决方案2】:

不要给你的类命名Math,你需要给它一个不同于Java框架类Math的名字。另外,您需要修复double a = 3.1,使其末尾有一个分号并添加import java.lang.Math

【讨论】:

    【解决方案3】:
    import java.lang.Math;
    public class maths
    {
    public static void main(String[] args)
    {
        double a = 3.1;
        double b = 2.7;
    
        double c = Math.sqrt(Math.pow(a,17) + Math.pow(b,11));
    
        System.out.println(c); 
      }
    }
    

    【讨论】:

    • 欢迎来到 Stack Overflow!您介意解释一下您在代码中所做的更改以及原因吗?
    • 类名不能是方法名。应该导入 java.lang.Math。还有分号。
    猜你喜欢
    • 2012-09-15
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多