- ベストアンサー
メッソドをクラスにしたときの引数等の渡し方を教えて下さい
JAVA初心者です、よろしくお願いします。 簡単な計算を1つのクラスの中でメッソドに計算をさせ、それをメインメッソドに返してやるプログラムで、 そのメッソドをクラス化してやる方法が分かりません。 例えば「表示クラス」は、値を「計算クラス」に渡して計算をさせ、「表示クラス」はその答えだけを受け取り、表示。 「計算クラス」は計算だけをするコードを書きたいのです。 プログラム全体の流れは分かるのですが、メッソドをクラス化した場合の引数の渡し方、受け取り方、戻り値の受け 取り方等をどのように書くのかが分かりません。 何方か、簡単な足し算の例などで、宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No2です。 うちの書いた内容が おかしいので 訂正。(計算クラスと 表示クラス分かれてなかった凹) public class JavaMain { public static void main(String[] args){ int num1 = 10; int num2 = 20; Expression jm= new Expression(); //表示 System.out.println("足し算"+jm.expressionPlus(num1,num2)); System.out.println("引き算"+jm.expressionMinus(num1,num2)); } } class Expression{ public int expressionPlus(int number1,int number2){ return number1+number2; } public int expressionMinus(int number1,int number2){ return number1+number2; } } で 良いのかな? でも、 計算クラスに値渡すってことは、、 public class JavaMain { public static void main(String[] args){ int num1 = 10; int num2 = 20; ExpressionPlus plus= new ExpressionPlus(num1,num2); ExpressionMinus minus= new ExpressionMinus(num1,num2); //表示 System.out.println("足し算"+plus.getAns()); System.out.println("引き算"+minus.getAns()); } } class ExpressionPlus{ int ans=0; public ExpressionPlus(int number1,int number2){ ans = number1+number2; } public int getAns(){ return ans; } } class ExpressionMinus{ int ans=0; public ExpressionMinus(int number1,int number2){ ans = number1-number2; } public int getAns(){ return ans; } } なのかも。。?
その他の回答 (4)
- choconamacream
- ベストアンサー率44% (152/338)
/** そのままコピペして、javacしないでねん。 いやっ、全角スペースがどうのこうのとかじゃなくってさあ・・。 もちろん、計算クラスを親クラスにすれば、インスタンスの生成が1つ減ります。 もちろんもちろん、オブジェクトを参照する変数(いわゆる、インスタンス)の記述を省略すれば、mainメソッド内は1行で済みます。 */ class 表示{ // 表示クラス public void ねわたし(int ね){ 計算型のクラス 計算クラスのインスタンス = new 計算クラスのコンストラクタ(); 標準出力(計算クラスのインスタンス.けいさん(ね)); } } class 計算{ // 計算クラス public int けいさん(int あい){ return ++あい; } } public class Hikisuu{ // パブリックなクラス static public void main(String... $0_){ int あたい = 2008; 表示型のクラス 表示クラスのインスタンス = new 表示クラスのコンストラクタ(); 表示クラスのインスタンス.ねわたし(あたい); } }
- mocajaba
- ベストアンサー率20% (1/5)
こんにちは。 質問者さんは勉強を始めたばかりでしょうか? JAVAに限らずプログラミング全般において、 値の受け渡しは基本中の基本です。 これが理解できてないと何もできません。 とりあえず補足要求です。 一つのクラス内にある複数メソッド間での値の受け渡し方法は 理解してらっしゃるのでしょうか?
- mahojula
- ベストアンサー率32% (21/65)
public class JavaMain { public static void main(String[] args){ int num1 = 10; int num2 = 20; JavaMain jm= new JavaMain();//インスタンスの作成 //(↑メソッドがstaticでない為) //↓インスタンスアドレス参照 System.out.println(jm.expressionPlus(num1,num2)); /* int sum = jm.expressionPlus(num1,num2); System.out.println(sum); でも同じ*/ } //↓戻り値の型 ↓引数 ↑同じ型と数 private int expressionPlus(int num1,int num2){ return num1+num2; } } いろいろ条件がなかったので 一番シンプルな形です。
- _ranco_
- ベストアンサー率58% (126/214)
表示クラスの中で KeisanClass kc = new KeisanClass(); int kekka = kc.keisan(parms); とかでしょう。keisanがstaticメソッドなら、いきなり int kekka = KeisanClass.keisan(params); でもよいです。