Javaでクラスの継承について学んでいます。
ユーザーからの入力でplusが入力されたらPlusCalcクラスを用いて足し算へ、mulが入力されたらMulCalcクラスを用いて掛け算をして結果を出力したいと思っています。
現在入力を受け付けるだけでその後のif文の実行がされない状態です。
3つ入力するだけで何も起こりません。エラーなども出ていないです。
Calcクラスのメンバーの使い方がよくわからず詰まってしまいました。
どのようにすれば継承先のメソッドが使えるのかご教示お願いいたします。
Java
1import java.util.*; 2 3public class Calculate{ 4 public static void main(String[] args) { 5 Calc c = new Calc(); 6 Scanner scan1 = new Scanner(System.in); 7 Scanner scan2 = new Scanner(System.in); 8 Scanner scan3 = new Scanner(System.in); 9 c.x = scan1.nextInt(); 10 c.input = scan2.next(); 11 c.y = scan3.nextInt(); 12 if (c.input == "plus") { 13 PlusCalc pulsRes = new PlusCalc(); 14 pulsRes.plus(c.x, c.y); 15 }else if(c.input == "mul"){ 16 MulCalc mulRes = new MulCalc(); 17 mulRes.mul(c.x, c.y); 18 } 19 } 20} 21 22class Calc { 23 Integer x; 24 String input; 25 Integer y; 26 Integer res = null; 27 28 // public Calc(){} 29 30 // public Calc(Integer x, Integer y){ 31 // this.x = x; 32 // this.y = y; 33 // } 34} 35 36class PlusCalc extends Calc{ 37 // public PlusCalc(Integer x, Integer y){ 38 // super(x, y); 39 // } 40 public void plus(Integer x, Integer y){ 41 Integer res = x + y; 42 System.out.println("結果: " +res); 43 } 44} 45 46class MulCalc extends Calc{ 47 // public MulCalc(Integer x, Integer y){ 48 // super(x, y); 49 // } 50 public void mul(Integer x, Integer y){ 51 Integer res = x * y; 52 System.out.println("結果: " +res); 53 } 54}
以下理想の出力です 100 plus 200 結果:300
回答2件
あなたの回答
tips
プレビュー