※ ChatGPTを利用し、要約された質問です(原文:計算クラスのメソッドについて)
計算クラスのメソッドについての質問
このQ&Aのポイント
計算クラスのメソッドについての質問です。mathクラスのメソッドを使うのかと思ったが、足し算を計算するようなメソッドが見つからず、ネットで検索して見つけたcalcAdd()メソッドを使用して記述しました。しかし、「シンボルを見つけられません」というエラーが出てコンパイルできません。正しい記述の方法を教えてください。
calcAdd()メソッドの呼び出し方も間違っている気がするのですが、そもそもこのメソッドを呼び出すと自動的に計算されるのでしょうか?それとも足し算の計算は別途記述する必要があるのでしょうか?
Mainクラスのmainメソッドでは、引数として2つの数字を受け取り、それらをint型に変換しています。その後、計算クラスの足し算メソッドを使って、受け取った数字を足し算して結果を表示しています。しかし、正しい記述の方法がわかりません。どのように修正すればよいでしょうか?
<問題>
Mainクラス
mainメソッド
1)実行時に引数を2つ付けて実行する。(数字)
2)計算クラスのオブジェクトを生成。
3)argsの0番目と1番目から値を取得し、int型に変換する。
4)int型に変換した値2つを引数として、計算クラスの足し算メソ ッドを実行し、戻り値を取得して表示する。
計算クラス
足し算メソッド(引数=int,int)
1)int型の数字を引数として2つ受け取る。
2)二つの引数の値を足し算する。
3)計算した値を戻り値とする。
***********************************************************
上記の問題についての質問です。
最初mathくらすのメソッドを使うのかと思ったのですが、
足し算を計算するようなメソッドが無かったのでネットで検索
して見つけたcalcAdd()というメソッドを使って記述してみました。
でも「シンボルを見つけられません」のエラーが出てコンパイル
出来ないし、メソッドの使い方も違うような気がするので、
分かる方正しい記述の仕方を教えてください。
package siryou;
class Keisan
{
int cal;
int cul;
public int tashizan(int a, int u)
{
cal = a;
cul = u;
int kekka = (Integer)calcAdd(cal, cul, 0);
return kekka;
}
}
class TashiHikiKakeWari
{
public static void main(String args[])
{
Keisan ki = new Keisan();
String str1 = args[0];
String str2 = args[1];
int res1 = Integer.parseInt(str1);
int res2 = Integer.parseInt(str2);
ki.tashizan(res1, res2);
int kekka = ki.tashizan(res1, res2);
System.out.println(kekka);
}
}
************************************************************
calcAdd()メソッドの呼び出し方も間違っている気がするのですが、
そもそもこのメソッドって呼び出せば自動的に計算されるように
なっているのですか?
それとも足し算を計算する記述は別にしなければならないのでしょうか?
お礼
>>>足し算を計算するようなメソッドが無かった では無く、+演算子を使えば良いわけです。 深く考えすぎていたみたいです。 そうですよね、演算子を使えば簡単に記述できますよね。 >>>呼び出せば、そこに書いてあるプログラムが実行されます。 「足し算のプログラム」が書かれていれば、足し算が行われるわけです。 どうも勘違いしていたみたいです。 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; } } こんな簡潔に出来るんですね。 今は下手に短くしてしまうと、どういう処理を行いたいのか 分からなくなってしまいそうですが、慣れてきたら簡潔に出来た 方が効率もよくなるので、参考にさせていただきます。 大変分かりやすい解説ありがとうございました!