package j1.lesson05;
import java.io.*;
/**
* 課題0501 - 解答例.
* @author s.arakawa
* @version $Id: TriangleCheck_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class TriangleCheck {
/**
* コンソールに三角形の3辺a,b,cの長さをそれぞれ入力させ、
* その三角形が二等辺三角形、正三角形、それ以外の三角形のうちいずれに属するかを表示するプログラム。
* @param args 無視される
* @throws IOException 入力中に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("辺aの長さを入力:");
int a = Integer.parseInt(reader.readLine());
System.out.print("辺bの長さを入力:");
int b = Integer.parseInt(reader.readLine());
System.out.print("辺cの長さを入力:");
int c = Integer.parseInt(reader.readLine());
// 正三角形 であるならば 二等辺三角形 である
// 二等辺三角形 であれば 三角形 である
// 以上より、正三角形 -> 二等辺三角形 -> 三角形 の順にチェック
// 正三角形 ならば a == b == c
// Javaでは上記のように書けないので、
// a == b && b == c && c == a
// ただし、全順序集合では、
// a == b && b == c ならば c == a
// が成り立つので、以下のようにする
if (a == b && b == c) {
System.out.println("入力された三角形は正三角形");
}
// 正三角形でない && 二つの辺の長さが同じ ならば 二等辺三角形
// これをJavaで表すなら、前者の「正三角形でない」はelseで表現
// 「二つの辺の長さが同じ」は全ての2つの辺の組み合わせを列挙して
// そのどれかが同じならばよい
// 列挙すると、 (a, b), (b, c), (c, a) になる
else if (a == b || b == c || c == a) {
System.out.println("入力された三角形は二等辺三角形");
}
// 正三角形でない かつ 二等辺三角形でない ならば 通常の三角形
// if-else の連鎖の末尾なら上記の条件は満たされている
else {
System.out.println("入力された三角形は通常の三角形");
}
}
}
|