2013-06-23 63 views
2

所以我知道这是超级简单,我具有问这个放在这里抱歉。 Unfortuntely,我很迷茫,没有别人问...简单的Java数学

无论如何,我试图用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); 
    } 
} 
+8

“不起作用” - 不是一个真正的问题。 –

+0

什么对此代码无效?堆栈痕迹? –

+0

考虑使用IDE(如Eclipse)来缓解语义问题。 – reagan

回答

7

你的类名是数学,你想叫Math.function,这并不在你的类存在,则需要refactor你的类名和导入类库。

右键单击文件名,Refactor > Rename

如果您must类被命名为数学,你必须调用:

java.lang.Math.pow(); 

另一个问题是,你缺少一个;后:

double a = 3.1 

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

在未来,请张贴堆栈跟踪和具体的问题有。

+0

+1你有老虎的眼睛... –

+0

不,这不是主要问题。 – jason

+0

我发现了主要问题并将其添加到答案中。我首先看到了这个第一个错误,因为它不会编译。然后我注意到他们的类名是'Math',真正的数学库没有被导入。 –

3

不要命名您的类Math,您需要给它一个与Java框架类Math不同的名称。另外,您需要修复double a = 3.1以在末尾添加分号并添加import java.lang.Math

-1
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); 
    } 
} 
+0

欢迎来到堆栈溢出!你介意解释你在代码中改变了什么,为什么? – JJJ

+0

classname不能是一个方法名。 java.lang.Math应该被导入。还有分号。 – Ani

+0

这些问题已被涵盖。 – jason