第一次作业+105032014018

一、流程图

 

 

二、测试用例

 

三、测试结果

通过测试

四、代码优化建议

对于边值得界定,应该单独优化出一个函数,防止后面又对边值得界定做出改变。

import java.util.Scanner;

public class main2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a=0,b=0,c=0;
        //设计可判断十组边
        for(int i=0;i<10;i++)
        {
            System.out.println("请输入三角形的三条边(用逗号隔开):");
            //输入三角形三条边
            Scanner sr = new Scanner(System.in);
            String sc = sr.next(); 
            //以逗号隔开三条边
            String[] sourceStrArray = sc.split(",");
            if(sourceStrArray.length==3){
            //输入是否为纯整数判断
            try{
            a = Integer.parseInt(sourceStrArray[0]);
            b = Integer.parseInt(sourceStrArray[1]);
            c = Integer.parseInt(sourceStrArray[2]);
            }catch(Exception e){
                System.out.println("输入错误!");
                continue;
            } }
            else{
                System.out.println("输入错误");
                continue;}
            //调用方法        
            String result = triangle(a, b, c);
            System.out.println(result);
        
        }                
    }
    
    //判断三角形
    public static String triangle(int a, int b,int c)
    {
       //值的范围
        if(charge(a,b,c))
            return "边的值不在范围内";
        //能否构成三角形
        else if(a>=b+c||b>=a+c||c>=a+b)
            return "不构成三角形";
        else{
            //等边三角形
            if(a==b&&b==c)
                return "等边三角形";
            //等腰三角形
            else if(a==b||b==c||a==c)
                return "等腰三角形";
            //直角三角形
            else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a)
               return "直接三角形";
            //一般三角形
            else
               return"一般三角形";
            }  
    }
    public static boolean charge(int a, int b,int c){
    	if(a<1||a>100||b<1||b>100||c<1||c>100)
    		return false;
    	else
    		return true;
    }
}

  

posted on 2017-03-21 00:03  爱思考的猫  阅读(158)  评论(0编辑  收藏  举报

导航