Javaのコンストラクタについて
解決したいこと
Javaの課題で、Calcクラスにコンストラクタを導入したいです。
理由としてはinitメソッドを使って合計値を初期化するためです。
その前にinitメソッドを同クラスにどのように書けばいいかも分かりません。
以下のソースコードからどのように書けばいいか解決方法を教えてください。
該当するソースコード
package com.lupinus_ltd;
public class Calc {
private int total;
public void add(int operand1,int operand2) {
System.out.println(operand1 + "+" + operand2 + "=" + (operand1 + operand2));
}
public void sub(int operand1, int operand2) {
System.out.println(operand1 + "-" + operand2 + "=" + (operand1 - operand2));
}
public void multi(int operand1, int operand2) {
System.out.println(operand1 + "*" + operand2 + "=" + (operand1 * operand2));
}
public void div(int operand1, int operand2) {
System.out.println(operand1 + "/" + operand2 + "=" + ((double)operand1 / (double)operand2));
}
public void mod(int operand1, int operand2) {
System.out.println(operand1 + "%" + operand2 + "=" + (operand1 % operand2));
}
public void pow(int operand1, int operand2) {
System.out.println(operand1 + "^" + operand2 + "=" + (operand1 ^ operand2));
}
}
念の為、メインクラス(kadai4)のソースも貼ります。
import com.lupinus_ltd.Calc;
public class kadai4 {
public static void main(String[]args) {
int operand1 = Integer.parseInt(args[0]);
String operator = args[1];
int operand2 = Integer.parseInt(args[2]);
Calc c = new Calc();
try {
switch(operator) {
case "+":
c.add(operand1,operand2);
break;
case "-":
c.sub(operand1,operand2);
break;
case "*":
c.multi(operand1,operand2);
break;
case "/":
c.div(operand1,operand2);
break;
case "%":
c.mod(operand1,operand2);
break;
case "^":
c.pow(operand1,operand2);
break;
}
}catch(NumberFormatException e) {
System.out.println("入力値が数値ではありません");
}
}
}
0 likes