2014-10-04 37 views
-1

我正在做一个java练习,我不得不看解决方案。主要程序是这样的:对象的方法?

import javax.swing.*; 
import java.util.*; 

public class PolarTest { 

    public static Punkt tillPunkt(RPunkt pol) { 
    Punkt resultat = new Punkt(); 
    resultat.x = pol.r * Math.cos(pol.teta); 
    resultat.y = pol.r * Math.sin(pol.teta); 
    return resultat; 
    } 

    public static void main(String[] arg) { 
    String s = JOptionPane.showInputDialog("Ange polära koordinater"); 
    Scanner sc = new Scanner(s); 
    RPunkt rp = new RPunkt(); 
    rp.r = sc.nextDouble(); 
    rp.teta = sc.nextDouble(); 
    Punkt p = tillPunkt(rp); 
    JOptionPane.showMessageDialog(null, "Som rektangulära koordinater (" + 
             p.x + ", " + p.y +")");  
    } 
} 

,并在一个单独的文件中的类名RPunkt:

public class RPunkt { 

    double r; 
    double teta; 

} 

这段代码的事情是,当我将代码粘贴我得到错误说PUNKT不能作为类型解决。这是因为它是一种方法而不是一个班级?

更新:有一个在解决无类PUNKT ...

+1

不是。这是因为代码使用了一个名为Punkt的类,它在任何地方都没有定义。发布的代码只定义PolarTest和RPunkt。 – 2014-10-04 15:18:34

+1

你有没有在某个地方定义的类“Punkt”? – Eran 2014-10-04 15:19:40

+0

否解决方案中没有班级朋克:S。作者一定是错过了... – user3776800 2014-10-04 15:21:07

回答

0

是的,你要创建类型PUNKT的对象,但PUNKT不存在。您只能创建一个类的对象,而不是方法。

RPunkt rp = new RPunkt(); 

上述工作正确吗?

这是因为RPunkt是一个类。

0

在这个函数中,你有一个Punkt的返回类型 - 你有这个定义吗?

public static Punkt tillPunkt(RPunkt pol) { 
Punkt resultat = new Punkt(); 
resultat.x = pol.r * Math.cos(pol.teta); 
resultat.y = pol.r * Math.sin(pol.teta); 
return resultat; 
}