第二次作業+105032014067

weixin_30488085發表於2020-04-06

     1.測試帖連結:http://www.cnblogs.com/leezoey/p/6579928.html

     2.測試人員提出的問題、發現的缺陷:

        對於邊值得界定,應該單獨優化出一個函式,防止後面又對邊值得界定做出改變。

     3.修正後的程式碼清單:因為測試人員提出不足的地方並且在之後貼上了修改後的程式碼,所以我就在此基礎上執行發現他新增的bool函式true與false值寫反了並根據評論,在if語句加了大括號。

      

 1 package triangle;
 2 
 3 import java.util.Scanner;
 4  
 5 public class main2 {
 6     public static void main(String[] args) {
 7         // TODO Auto-generated method stub
 8         int a=0,b=0,c=0;
 9         //設計可判斷十組邊
10         for(int i=0;i<10;i++)
11         {
12             System.out.println("請輸入三角形的三條邊(用逗號隔開):");
13             //輸入三角形三條邊
14             Scanner sr = new Scanner(System.in);
15             String sc = sr.next();
16             //以逗號隔開三條邊
17             String[] sourceStrArray = sc.split(",");
18             if(sourceStrArray.length==3){
19             //輸入是否為純整數判斷
20             try{
21             a = Integer.parseInt(sourceStrArray[0]);
22             b = Integer.parseInt(sourceStrArray[1]);
23             c = Integer.parseInt(sourceStrArray[2]);
24             }catch(Exception e){
25                 System.out.println("輸入錯誤!");
26                 continue;
27             } }
28             else{
29                 System.out.println("輸入錯誤");
30                 continue;}
31             //呼叫方法       
32             String result = triangle(a, b, c);
33             System.out.println(result);
34          
35         }               
36     }
37      
38     //判斷三角形
39     public static String triangle(int a, int b,int c)
40     {
41        //值的範圍
42         if(charge(a,b,c)){
43             return "邊的值不在範圍內";}
44         //能否構成三角形
45         else if(a>=b+c||b>=a+c||c>=a+b){
46             return "不構成三角形";}
47         else{
48             //等邊三角形
49             if(a==b&&b==c){
50                 return "等邊三角形";}
51             //等腰三角形
52             else if(a==b||b==c||a==c){
53                 return "等腰三角形";}
54             //直角三角形
55             else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a){
56                return "直接三角形";}
57             //一般三角形
58             else{
59                return"一般三角形";}
60             } 
61     }
62     public static boolean charge(int a, int b,int c){
63         if(a<1||a>100||b<1||b>100||c<1||c>100)
64             return true;
65         else
66             return false;
67     }
68 }

 

    4.修正後心得體會:

    • 介紹自己程式碼做了怎樣的變更:增加了三角形三條邊的邊界值限定的bool型函式
    • 分析出現缺陷的原因:通過,並沒有找出缺陷,只有不足的地方
    • 對這部分教材內容的學習心得:對判定覆蓋的定義和條件覆蓋有點混亂,對畫流程圖深惡痛絕!if條件太多了,畫的很亂。

 

轉載於:https://www.cnblogs.com/ff44/p/6624851.html