• 第一次作业+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;
        }
    }
    

      

  • 相关阅读:
    Uva11988
    Uva140
    子集生成
    Uva129
    Uva524
    Uva10976
    Uva11059
    Uva725
    HDU4268(贪心+multiset)
    HDU2034(set水题)
  • 原文地址:https://www.cnblogs.com/leezoey/p/6579928.html
Copyright © 2020-2023  润新知