• ベストアンサー

プログラムミス?

下のプログラムを実行したときにエラーが出るんですけどどこが間違っているかどなたか教えて下さい。 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; } }

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

とりあえずアドバイスとしては ・エラーメッセージを読むくせをつけましょう。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

参考URL:
http://www.nextindex.net/java/index.html
回答No.1

まずはどんなエラーが出るか補足して下さい。

関連するQ&A