/****************************/ /* 正方形,円,正三角形 */ /* coded by Y.Suganuma */ /****************************/ import java.io.*; // クラス Shape (抽象クラス) abstract class Shape { abstract double menseki(); // 面積の計算(抽象メソッド) } // クラス Rectangle class Rectangle extends Shape { private double size; Rectangle(double s) { size = s; } // コンストラクタ double menseki() // 正方形の面積 { return size * size; } } // クラス Circle class Circle extends Shape { private double size; Circle(double s) { size = s; } // コンストラクタ double menseki() // 円の面積 { return 3.141592654 * size * size; } } // クラス Triangle class Triangle extends Shape { private double size; Triangle(double s) { size = s; } // コンストラクタ double menseki() // 正三角形の面積 { return 0.433012701 * size * size; } } // main public class Test { public static void main(String args[]) { Rectangle r1 = new Rectangle (1.0); Circle c1 = new Circle (1.0); Triangle t1 = new Triangle (1.0); System.out.println(r1.menseki() + " " + c1.menseki() + " " + t1.menseki()); } }
/****************************/ /* 8進,10進,16進 */ /* coded by Y.Suganuma */ /****************************/ import java.io.*; // クラス Number (抽象クラス) abstract class Number { protected int num; Number(int n) { num = n; } // コンストラクタ abstract void out(); // 出力(抽象メソッド) } // クラス O8 class O8 extends Number { O8(int n) { super(n); } // コンストラクタ(親のコンストラクタ) void out() // 8進出力 { System.out.println(Integer.toOctalString(num)); } } // クラス O10 class O10 extends Number { O10(int n) { super(n); } // コンストラクタ(親のコンストラクタ) void out() // 10進出力 { System.out.println(num); } } // クラス O16 class O16 extends Number { O16(int n) { super(n); } // コンストラクタ(親のコンストラクタ) void out() // 16進出力 { System.out.println(Integer.toHexString(num)); } } // main public class Test { public static void main(String args[]) { O8 n1 = new O8 (200); O10 n2 = new O10 (200); O16 n3 = new O16 (200); n1.out(); n2.out(); n3.out(); } }
菅沼ホーム | 演習解答例目次 | 本文目次 | 付録 | 索引 |