2011年3月22日

<Java> JVA208-三角形邊長判斷




(1) 可依輸入之參數判斷三角形類型
(2) 未輸入任何參數顯示錯誤訊息
(3) 輸入參數不為3個,或輸入參數包含非數值字元,顯示錯誤訊息

===========================


public class JVA208{
  public static void main(String args[]){
    double arg1,arg2,arg3;
    if(args.length == 3) { //請在此撰寫判斷三角形之程式
      try{
        arg1=Double.parseDouble(args[0]);
        arg2=Double.parseDouble(args[1]);
        arg3=Double.parseDouble(args[2]);
        JVA208 ta=new JVA208();
        ta.identify(arg1,arg2,arg3);
      }catch(NumberFormatException e){
        System.out.println("您的輸入中有無法處理的非數值參數 !");
      }
    }else{
        //請在此撰寫判斷三角形錯誤的資訊
      System.out.println("參數數目錯誤:三角形邊長應有三個參數");
      System.exit(0);
    }
  }
  public void identify(double a, double b, double c){
    double tmp;
   //將a,b,c由小至大排列 再進行判斷
   boolean ra;
   if( c < b ){
      tmp = b;
      b = c;
      c = tmp;
   }
   if( b < a ){
      tmp = a;
      a = b;
      b = tmp;
   }
   if( c < b ){
      tmp = b;
      b = c;
      c = tmp;
   }
   if( (Math.pow(a,2)+Math.pow(b,2))==Math.pow(c,2)){
      ra = true;
   }else{
      ra=false;
   }

   if( (a+b<=c)||(a*b*c==0)||(a<0)||(b<0)||(c<0) ){ //請在此撰寫判斷三角形之程式
      System.out.println("您輸入的並非一個三角形的邊長資料 !");
    }else if((a==b)&&(b==c)){ //請在此撰寫判斷三角形之程式
      System.out.println("您所輸入的是一個等邊三角形的邊長資料 !");
    }else if((a==b)||(b==c)){ //請在此撰寫判斷三角形之程式
        if( ra==true ){
             //請此在撰寫判斷三角形之程式

          System.out.println("您所輸入的是一個等腰直角三角形的邊長資料 !");
        }else{
          System.out.println("您所輸入的是一個等腰三角形的邊長資料 !");
        }
    }else if(ra==true){
             //請在此撰寫判斷三角形之程式
      System.out.println("您所輸入的是一個直角三角形的邊長資料 !");
    }else if((Math.pow(a,2)+Math.pow(b,2))<Math.pow(c,2)){
        //請在此撰寫判斷三角形之程式

      System.out.println("您所輸入的是一個鈍角三角形的邊長資料 !");
    }else{
      System.out.println("您所輸入的是一個銳角三角形的邊長資料 !");
    }
  }
}

沒有留言:

張貼留言