• ベストアンサー

メッソドをクラスにしたときの引数等の渡し方を教えて下さい

 JAVA初心者です、よろしくお願いします。  簡単な計算を1つのクラスの中でメッソドに計算をさせ、それをメインメッソドに返してやるプログラムで、 そのメッソドをクラス化してやる方法が分かりません。  例えば「表示クラス」は、値を「計算クラス」に渡して計算をさせ、「表示クラス」はその答えだけを受け取り、表示。 「計算クラス」は計算だけをするコードを書きたいのです。  プログラム全体の流れは分かるのですが、メッソドをクラス化した場合の引数の渡し方、受け取り方、戻り値の受け 取り方等をどのように書くのかが分かりません。  何方か、簡単な足し算の例などで、宜しくお願いします。

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

  • ベストアンサー
  • mahojula
  • ベストアンサー率32% (21/65)
回答No.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)

回答No.4

/** そのままコピペして、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)
回答No.3

こんにちは。 質問者さんは勉強を始めたばかりでしょうか? JAVAに限らずプログラミング全般において、 値の受け渡しは基本中の基本です。 これが理解できてないと何もできません。 とりあえず補足要求です。 一つのクラス内にある複数メソッド間での値の受け渡し方法は 理解してらっしゃるのでしょうか?

  • mahojula
  • ベストアンサー率32% (21/65)
回答No.2

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)
回答No.1

表示クラスの中で KeisanClass kc = new KeisanClass(); int kekka = kc.keisan(parms); とかでしょう。keisanがstaticメソッドなら、いきなり int kekka = KeisanClass.keisan(params); でもよいです。

関連するQ&A