練習問題⑦:アクセス指定子とカプセル化

7日目のカプセル化を確認します。

問題7:アクセス指定子とカプセル化

参考:7日目

問題 7-1

クラスDataにメンバ変数のセッターおよびゲッターを追加し、ビルドが通るようにして期待される実行結果を得られるように書き換えなさい。

Java
package problem7;

public class Problem7_1 {
    public static void main(String args[]){
        Data d = new Data();
        d.setNumber(100);
        d.setComment("Programming Java");
        System.out.println( "number = " + d.getNumber());
        System.out.println( "comment = " + d.getComment());
    }
}
Java
package problem7;

public class Data {
    private int number = 0;
    private String comment = "";
}
期待する実行結果
number = 100
comment = Programming Java
問題 7-2

TwoStringsクラスに2つの文字列を結合させるメソッド「getConnectedString」を追加し、実行結果通りに動くようにしなさい。

Java
package problem7;

public class Problem7_2 {
    public static void main(String args[]){
         TwoStrings s = new TwoStrings();
         s.setString1("Hello");
         s.setString2("World");
         System.out.println("一つ目の文字列は" + s.getString1());
         System.out.println("二つ目の文字列は" + s.getString2());
         System.out.println("二つの文字列を合成したものは" + s.getConnectedString());
    }
}
期待する実行結果
一つ目の文字列はHello
二つ目の文字列はWorld
二つの文字列を合成したものはHelloWorld
問題 7-3

2つの整数の足し算と引き算を行うクラスCalculationを、提示される仕様に基づいて完成させなさい。

Java
package problem7;

public class Problem7_3 {
    public static void main(String args[]){
        Calculation c = new Calculation();
        c.setNumber1(8);
        c.setNumber2(9);
        System.out.println(c.getNumber1() + " + " + c.getNumber2() + " = " + c.add());
        System.out.println( c.getNumber1() + " - " + c.getNumber2() + " = " + c.sub());
    }
}
フィールド:number1(int)、number2(int)
メソッド:setNumber1、setNumber2、getNumber1、getNumber2、add(足し算を返す)、sub(引き算を返す)
期待する実行結果
8 + 9 = 17
8 - 9 = -1