2014-10-04 77 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; 
}