/****************************/
/* 正方形,円,正三角形 */
/* 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();
}
}
| 菅沼ホーム | 演習解答例目次 | 本文目次 | 付録 | 索引 |