• ベストアンサー

理解できません

まだ、初めて間もないのですが public class DivisionProcess{ (1)public int dead(int x, int y){ (2)int answer = x/y; (3)return answer; } } public class DivisionTest{ public static void main(String args[]){ (4)int x; (5)int y; (6)int answer; try{ x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); DivisionProcess dp = newDivisionProcess(); answer = dp.dead(x,y); } catch(NumberFormatException ex) { System.out.println("数値ではありません"); (7)return; のプログラムの中で、(1)(2)(3)(4)(5)(6)(7)のそれぞれの関係が理解できません。 みなさん助けてください。 よろしくお願いします。

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

  • ベストアンサー
回答No.2

まず、実行すると public static void main(String args[]) 以下から開始します。 このmainクラスで (4)int x; (5)int y; (6)int answer; という変数を定義します。 次に、実行時の第1引数をxに、第2引数をyに代入します。 次に、x,yを引数にし、DivisionProcessクラスのdeadを呼び出します。 (1)は『deadメソッドの処理はここからですよ』というような宣言だと思ってください。 dead()では、引数として渡されたx,yを使用し、x/yを計算して返却します(2),(3)。 (7)のreturnは別にあってもなくても構いません。 おまじないみたいなもんです。 ためしに、 (1)public int dead(int x, int y){ (2)int answer = x/y; (3)return answer; を (1)public int dead(int a, int b){ (2)int kotae = a/b; (3)return kotae; に変更してみてください。 問題なく動きます。 メソッド内で同じ変数名を使用しているので混乱したのかな?

tabo-s
質問者

お礼

ありがとうございます。 メソッド内で同じ変数名が使われてたので、関連があるのかなと思ってしまったのです。 それで、理解ができなかったのですが、 わかりやすいアドバイス、助かりました。

その他の回答 (2)

回答No.3

No.2です。 すみません、 (7)return; は意味がありますね。 よく見るとcatchブロックにありますので、もし例外が発生したらここで処理を終了させるために(7)の文があります。

  • hirohrin
  • ベストアンサー率43% (13/30)
回答No.1

う~ん、はっきり言いますと、この程度の基本的なプログラムがわからないようだと、グローバル・ローカル変数や定数、関数の概念など、残念ながらまったくの基礎の基礎が理解できていないようですね・・・まずここで聞く前に、初心者向けのプログラミングの本を1冊読むことをお勧めします。おそらくそれをしないと、この先、まともなプログラムはまず書けないと思いますよ。

関連するQ&A