package a;
//このクラスは publicクラスでは無いので,他のパッケージから見えない(アクセス出来ない)。
class JapaneseCalculator implements Calculator { // 全角文字で計算可能な JapaneseCalculator クラス。
private String a, b; // 2つの数値を表す数字の並んだ文字列
void setA( String a ){ this.a = a; }
void setB( String b ){ this.b = b; }
JapaneseCalculator( String a, String b ) { setA(a); setB(b); }
// 全角文字数字を半角文字数字へ置換し,double型数値に変換して返す。
private static double convert( String s ) {
String r;
r = s.replace("0", "0");
r = r.replace("1", "1");
r = r.replace("2", "2");
r = r.replace("3", "3");
r = r.replace("4", "4");
r = r.replace("5", "5");
r = r.replace("6", "6");
r = r.replace("7", "7");
r = r.replace("8", "8");
r = r.replace("9", "9");
r = r.replace(".", "."); // 小数点
return Double.valueOf(r); // Double型のvalueOfメソッドを使って,文字列表現をdouble型数値に変換して返す。
}
public double add( ) {
return convert(a) + convert(b);
}
public double sub( ) {
return convert(a) - convert(b);
}
public double mul( ) {
return convert(a) * convert(b);
}
public double div( ) {
return convert(a) / convert(b);
}
}
|