package j2.lesson05;
import java.io.*;
/**
* 課題1802 - 解答例.
* {@link Prism}を扱うクラス.
* @author arakawa
* @version $Id: PrismAction_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class PrismAction {
/**
* {@link Prism}を扱うプログラム。
* @param args 無視される
* @throws IOException 入力時に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// type = 0
int type = 0;
// while type が 1 でも 2 でもない
while (type != 1 && type != 2) {
// print "底面の図形を入力(1-三角形,2-長方形):"
System.out.print("底面の図形を入力(1-三角形,2-長方形):");
// type = コンソール入力 (int)
type = Integer.parseInt(reader.readLine());
}
// Polygon 型で base を宣言
Polygon base;
// if 三角形が選択された (type = 1)
if (type == 1) {
// print "三角形が選択されました。", 改行
System.out.println("三角形が選択されました。");
// print "三角形の辺aの長さを入力:"
System.out.print("三角形の辺aの長さを入力:");
// a = コンソール入力 (double)
double a = Double.parseDouble(reader.readLine());
// print "三角形の辺aの長さを入力:"
System.out.print("三角形の辺bの長さを入力:");
// b = コンソール入力 (double)
double b = Double.parseDouble(reader.readLine());
// print "三角形の辺aの長さを入力:"
System.out.print("三角形の辺cの長さを入力:");
// c = コンソール入力 (double)
double c = Double.parseDouble(reader.readLine());
// base = 辺 a, b, c を持つ新しい三角形インスタンス
base = new Triangle(a, b, c);
}
// else
else {
// print "長方形が選択されました。", 改行
System.out.println("長方形が選択されました。");
// print "長方形の底辺の長さを入力:"
System.out.print("長方形の底辺の長さを入力:");
// width = コンソール入力 (double)
double width = Double.parseDouble(reader.readLine());
// print "長方形の高さを入力:"
System.out.print("長方形の高さを入力:");
// height = コンソール入力 (double)
double height = Double.parseDouble(reader.readLine());
// base = width, height を持つ新しい長方形インスタンス
base = new Rectangle(width, height);
}
// print "角柱の高さを入力:"
System.out.print("角柱の高さを入力:");
// height = コンソール入力 (double)
double height = Double.parseDouble(reader.readLine());
// prism = base, height を持つ新しい角柱インスタンス
Prism prism = new Prism(base, height);
// print prism, 改行
System.out.println(prism);
// print "体積は" + prism.volume(), 改行
System.out.println("体積は" + prism.volume());
// print "表面積は" + prism.surfaceArea(), 改行
System.out.println("表面積は" + prism.surfaceArea());
}
}
|