- ベストアンサー
プログラムミス?
下のプログラムを実行したときにエラーが出るんですけどどこが間違っているかどなたか教えて下さい。 public class Point{ public int x; public int y; public static void scale(int s){ x*= s; y*= s; } public static void scale(Point p,int s){ p.x *= s; p.y *= s; } }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
とりあえずアドバイスとしては ・エラーメッセージを読むくせをつけましょう。Javaのエラーメッセージはかなりわかりやすいです。 ・コンパイルエラーと実行時エラーの違いを覚えましょう。 ・staticと非staticの違いを覚えましょう。 ちなみに間違いは >public static void scale(int s){ で、staticは要りません。 あと、ソースがこれだけだとmainメソッドがないので動きません。
その他の回答 (2)
- hrm_mmm
- ベストアンサー率63% (292/459)
回答No.3
No2の方のご指摘に加えて、 x,yの型宣言は有るけど、値を入れてないと計算には使えません。 *=の意味をよっく考えてから使って下さい。 staticな関数から、インスタンス変数を参照することも出来ません。 staticである必要はなさそうです。 基本文法について、しっかり入門書を読み直した方がいいです。 http://www.nextindex.net/java/index.html
- pcbeginner
- ベストアンサー率46% (261/560)
回答No.1
まずはどんなエラーが出るか補足して下さい。