hayatedonda
@hayatedonda

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Java 【メソッド・クラス】

public class KadaiCalculationMain {

public static void main(String[] args) {

    KadaiCalculationProcessing kcm = new KadaiCalculationProcessing();

    kcm.Calculate(8, 4, 1, 81);
    int valueAdd = kcm.valueAdd();
    System.out.println(valueAdd);
    int valueSub = kcm.valueSub();
    System.out.println(valueSub);
    int valueMul = kcm.valueMul();
    System.out.println(valueMul);
    double valueDiv = kcm.valueDiv();
    System.out.println(valueDiv);
}

}

と、

public class KadaiCalculationProcessing {

int Addition, Decrease, Multiplication;
double Exclusion;

public void Calculate(int num1, int num2, double num3, double num4) {

    Addition = num1 + num2;
    Decrease = num1 - num2;
    Multiplication = num1 / num2;
    Exclusion = num3 / num4;
}

int valueAdd() {

    return Addition;
}

int valueSub() {

    return Decrease;
}

int valueMul() {

    return Multiplication;
}

double valueDiv() {

    return Exclusion;
}

}

で、フィールド変数を使用せず、メソッドの引数に値を渡す場合はどうすれば良いのでしょうか?

0

3Answer

課題の明確化

恐れ入りますが、もう少し課題を明確にできないでしょうか。

  • 使用せずに済ませたい「フィールド」とは、int Addition, Decrease, Multiplication; double Exclusion;のことで正しいでしょうか?
  • 引数に値を渡したい「メソッド」とは、valueAddvalueSubvalueMulvalueDivのことで正しいでしょうか?
  • そもそも、このプログラムで何をしたいのでしょうか?

推測

  • 現在は、あらかじめ全ての値を渡して全ての計算をしておき、必要時に必要な結果を取り出すようになっています。
  • 必要時に最小限の値を渡してその都度計算して結果を返すようにしたいのでしょうか?
    • しかし、それなら、メソッドに引数を渡して計算結果を格納せずに返すだけで、特に新しい要素はないように思われます。
    • 既に、メソッドCalculateに対しては引数に値を渡していますので、「メソッドに引数を渡す」こと自体が課題ではないものと思います。
    • 同様に、「四則演算を行う」ことや、「メソッドから値を返す」こと、「返された値を出力する」ことも課題ではないはずです。
class Main {
    public static void main(String[] args) {
        KadaiCalculationProcessing kcm = new KadaiCalculationProcessing ();
        kcm.Calculate (8, 4, 1, 81);
        int valueAdd = kcm.valueAdd ();
        System.out.println (valueAdd);
        int valueSub = kcm.valueSub ();
        System.out.println (valueSub);
        int valueMul = kcm.valueMul ();
        System.out.println (valueMul);
        double valueDiv = kcm.valueDiv ();
        System.out.println (valueDiv);
    }
}

class KadaiCalculationProcessing {
    int Addition, Decrease, Multiplication;
    double Exclusion;

    public void Calculate (int num1, int num2, double num3, double num4) {
        Addition = num1 + num2;
        Decrease = num1 - num2;
        Multiplication = num1 / num2;
        Exclusion = num3 / num4;
    }

    int valueAdd () {
        return Addition;
    }
    
    int valueSub () {
        return Decrease;
    }
    
    int valueMul () {
        return Multiplication;
    }
    
    double valueDiv () {
        return Exclusion;
    }
}
0Like

Comments

  1. ありがとうございます。課題は理解できました。
    画像ですと、引用するのに打ち込み直す必要がありますね…。
    答を書いてしまうのは容易いのですが、それでは学習課題の意味がないでしょうし。
    それに、実のところ、hayatedondaさんは、既に答えに至る情報をお持ちです。

    課題では、`Calculate`は求められていませんね。
    必要なのは、`valueAdd`で、それを`main`から直接呼べる必要があります。
    また、`valueAdd`は、二つの引数を受け取って、それらの和を返す必要があります。

    他のクラスから呼ばれることのできるメソッドを作ること、
    そのメソッドで引数を受け取ること、
    和を求めること、
    メソッドから値を返すこと、
    これらの要素は既にできていることですね。

public class KadaiCalculationMain {

public static void main(String[] args) {

	KadaiCalculationProcessing kcm = new KadaiCalculationProcessing();

	int valueAdd = kcm.Addition(8, 4);
	System.out.println(valueAdd);

	int valueSub = kcm.Decrease(8, 4);
	System.out.println(valueSub);

	int valueMul = kcm.Multiplication(8, 4);
	System.out.println(valueMul);

	double valueDiv = kcm.Exclusion(8, 4);
	System.out.println(valueDiv);
}

}

public class KadaiCalculationProcessing {

public int Addition(int num1, int num2) {
	return num1 + num2;
}

public int Decrease(int num1, int num2) {
	return num1 - num2;
}

public int Multiplication(int num1, int num2) {
	return num1 * num2;
}

public double Exclusion(double num1, double num2) {
	return num1 / num2;
}

}

できました!ありがとうございます!

0Like

ちなみに、mainは変数を使わずに以下のように書いても大丈夫です。

    public static void main(String[] args) {
        KadaiCalculationProcessing kcm = new KadaiCalculationProcessing ();
        System.out.println (kcm.valueAdd (8, 4));
        System.out.println (kcm.valueSub (8, 4));
        System.out.println (kcm.valueMul (8, 4));
        System.out.println (kcm.valueDiv (1, 81));
    }

蛇足ですが、ソースの記載方法について、「コードの挿入 (リンク)」をご参照ください。

0Like

Your answer might help someone💌