• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:計算クラスのメソッドについて)

計算クラスのメソッドについての質問

このQ&Aのポイント
  • 計算クラスのメソッドについての質問です。mathクラスのメソッドを使うのかと思ったが、足し算を計算するようなメソッドが見つからず、ネットで検索して見つけたcalcAdd()メソッドを使用して記述しました。しかし、「シンボルを見つけられません」というエラーが出てコンパイルできません。正しい記述の方法を教えてください。
  • calcAdd()メソッドの呼び出し方も間違っている気がするのですが、そもそもこのメソッドを呼び出すと自動的に計算されるのでしょうか?それとも足し算の計算は別途記述する必要があるのでしょうか?
  • Mainクラスのmainメソッドでは、引数として2つの数字を受け取り、それらをint型に変換しています。その後、計算クラスの足し算メソッドを使って、受け取った数字を足し算して結果を表示しています。しかし、正しい記述の方法がわかりません。どのように修正すればよいでしょうか?

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

まず、足し算は、Javaでは、+演算子を使えるということを知って置いてください。 そう、小学校でも習う+記号が使えます。 そこで >>> 足し算を計算するようなメソッドが無かった では無く、+演算子を使えば良いわけです。修正は次の2箇所です。 int kekka = (Integer) calcAdd(cal, cul, 0); を int kekka = cal + cul; に変更し、 ki.tashizan(res1, res2); は不要です。同じ計算を2回していることになっています。 >>> そもそもこのメソッドって呼び出せば自動的に計算されるように >>> なっているのですか? 呼び出せば、そこに書いてあるプログラムが実行されます。「足し算のプログラム」 が書かれていれば、足し算が行われるわけです。 実行はコマンドプロンプトの場合、 パッケージsiryouがあるので、siryouの親のディレクトリで、たとえば java siryou.TashiHikiKakeWari 5 3 とします。 なおプログラムは短く出来ますので慣れたら次の様な書き方も練習してください。 ------------------------------------------------------------ class Keisan { public int tashizan(int a, int u) { return a + u; } }

noname#205525
質問者

お礼

>>>足し算を計算するようなメソッドが無かった    では無く、+演算子を使えば良いわけです。 深く考えすぎていたみたいです。 そうですよね、演算子を使えば簡単に記述できますよね。 >>>呼び出せば、そこに書いてあるプログラムが実行されます。 「足し算のプログラム」が書かれていれば、足し算が行われるわけです。 どうも勘違いしていたみたいです。 calcAdd()のメソッドを呼び出せば、自動的に引数通しの足し算を してくれるんじゃないかと・・・ そうじゃなくて、呼び出すとメソッド内に記述されたプログラムが 順番に実行されるんですよね? ちゃんとそう勉強してきたはずなのに、抜けてました。 ki.tashizan(res1, res2);が不要ということは、 int kekka = ki.tashizan(res1, res2);の一行で メソッドの呼び出しと戻り値の取得を同時に行えるということ なのでしょうか? うん、でもそうですよね。 ki.tashizan(res1, res2);を記述したら、計算2度やることに なりますよね。なるほど・・・ >>>なおプログラムは短く出来ますので慣れたら次の様な書き方も 練習してください。 class Keisan { public int tashizan(int a, int u) { return a + u; } } こんな簡潔に出来るんですね。 今は下手に短くしてしまうと、どういう処理を行いたいのか 分からなくなってしまいそうですが、慣れてきたら簡潔に出来た 方が効率もよくなるので、参考にさせていただきます。 大変分かりやすい解説ありがとうございました!

関連するQ&A