等价三角形
等价类划分三角形问题
1. 课题描述:
以三角形问题为例,要求输入三个正整数a,b,c ,分别作为三角形的三条边,取值范围为1~100,判断由三条边构成的三角形类型为等边三角形,等腰三角形,一般三角形以及不构成三角形。在多数情况下,是从输入输入域划分等价类,但对于三角形问题,从输入域定义划分等价类较简单。 因此,利用这些信息可以确定下列值域等价类:
A1={:边为a,b,c 的等边三角形} A2={:边为a,b,c 的等边腰三角形}
A3={:边为a,b,c 的直角三角形} A4={:边为a,b,c 的一般三角形} A5={:边为a,b,c 不能构成三角形}
2. 程序流程图:
3. 代码:
class san {
public static void main(String args[]) {
int a=Int.parseInt(args[0]);// int b=Int.parseInt(args[1]); int c=Int.parseInt(args[2]); if(ac) { if(a==b&&b==c) { System.out.println("等边三角形"); } else if(a*a+b*b==c*c) { System.out.println("直角三角形"); } else if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&c!=a)) { System.out.println("等腰三角形"); } else { System.out.println("一般三角形"); } } else {
System.out.println("不是三角形"); } } }
4. 等价分类表:
5. 测试用例:
6.测试结果分析: