<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      123

      實驗項目名稱:實驗四          

      一、     實驗目的

      1、掌握單元測試的基本理論和作用。

      2、掌握典型單元測試工具 JUnit 的使用

      二、  實驗內容

      實驗題目

       

      三、  實驗步驟及結果

      源代碼不用寫在報告中,源代碼上傳學習通,在報告中可寫:源程序見學習通平臺。

       

       

       

      1、實驗任務 2:閏年判斷程序及測試

      實驗步驟(簡潔版,側重任務特有邏輯)

      需求分析

      閏年定義:能被 4 整除但不能被 100 整除,或能被 400 整除的年份。

      需覆蓋的測試場景:

      正常閏年(如 2020,能被 4 整除且非整百年)。

      整百年閏年(如 2000,能被 400 整除)。

      整百年非閏年(如 1900,能被 100 整除但不能被 400 整除)。

      非閏年(如 2021,不能被 4 整除)。

      編寫閏年判斷類 LeapYear

      public class LeapYear { 

          public boolean isLeapYear(int year) { 

              return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); 

          } 

       

      設計測試用例與編寫測試類 LeapYearTest

      使用參數化測試覆蓋不同年份,重點驗證邊界條件(整百年)。

      @ParameterizedTest 

      @CsvSource({ 

          "2000, true",   // 能被400整除,是閏年 

          "1900, false",  // 能被100整除但不能被400整除,非閏年 

          "2004, true",   // 能被4整除且非整百年,是閏年 

          "1999, false"   // 不能被4整除,非閏年 

      }) 

      void parameterizedLeapYearTest(int year, boolean expected) { 

          assertEquals(expected, leapYear.isLeapYear(year)); 

       

      運行測試與結果驗證

      執行測試后,所有用例應通過,確保閏年邏輯正確處理邊界條件。

       

       

       

       

       

       

      . 需求分析

      輸入:三角形三邊長度(支持浮點數)。

      輸出:分類結果(非法邊長、非三角形、等邊、等腰、直角、鈍角、銳角)。

      核心邏輯:

      邊長合法性檢查(邊長≤0 則非法);

      三角形成立條件(任意兩邊之和大于第三邊);

      類型判斷優先級:等邊 > 直角 > 等腰 > 鈍角 / 銳角(確保 “等腰直角三角形” 優先判定為直角三角形)。

      package org.example; 

       

      import java.util.Arrays; 

       

      public class TriangleClassifier { 

          public String classifyTriangle(double a, double b, double c) { 

              // 邊長合法性檢查 

              if (a <= 0 || b <= 0 || c <= 0) { 

                  return "非法邊長(邊長需>0)"; 

              } 

              // 三角形成立條件檢查 

              if (a + b <= c || a + c <= b || b + c <= a) { 

                  return "非三角形"; 

              } 

              // 排序邊長以便后續判斷 

              double[] sides = {a, b, c}; 

              Arrays.sort(sides); 

              double maxSide = sides[2]; 

              double sumSq = sides[0] * sides[0] + sides[1] * sides[1]; 

              double maxSq = maxSide * maxSide; 

       

              // **關鍵判斷順序:先直角后等腰,確保等腰直角三角形正確分類** 

              if (a == b && b == c) { 

                  return "等邊三角形"; 

              } else if (Math.abs(sumSq - maxSq) < 1e-9) {  // 優先判斷直角三角形 

                  return "直角三角形"; 

              } else if (a == b || a == c || b == c) {  // 再判斷等腰三角形 

                  return "等腰三角形"; 

              } else if (maxSq > sumSq) { 

                  return "鈍角三角形"; 

              } else { 

                  return "銳角三角形"; 

              } 

          } 

       

      設計測試用例與測試類TriangleClassifierTest

      參數化測試:覆蓋所有分類場景,包括非法邊長、非三角形、等邊、等腰、直角、鈍角、銳角,以及浮點精度場景(如等腰直角三角形)。

       

      package org.example; 

       

      import org.junit.jupiter.api.BeforeEach; 

      import org.junit.jupiter.params.ParameterizedTest; 

      import org.junit.jupiter.params.provider.CsvSource; 

      import static org.junit.jupiter.api.Assertions.*; 

       

      class TriangleClassifierTest { 

          private TriangleClassifier classifier; 

       

          @BeforeEach 

          void setUp() { 

              classifier = new TriangleClassifier(); 

          } 

       

          @ParameterizedTest 

          @CsvSource({ 

              // 非法邊長 

              "0, 3, 4, 非法邊長(邊長需>0)", 

              "-1, 2, 3, 非法邊長(邊長需>0)", 

              // 非三角形 

              "3, 4, 8, 非三角形", 

              "2, 2, 5, 非三角形", 

              // 等邊三角形 

              "3, 3, 3, 等邊三角形", 

              // 等腰三角形(非直角) 

              "3, 3, 4, 等腰三角形", 

              // 直角三角形(含等腰直角) 

              "3, 4, 5, 直角三角形", 

              "1, 1, 1.41421356, 直角三角形",  // 浮點精度測試(√2近似值) 

              // 鈍角三角形 

              "2, 3, 4, 鈍角三角形", 

              // 銳角三角形 

              "4, 5, 6, 銳角三角形" 

          }) 

          void parameterizedTriangleTest(double a, double b, double c, String expected) { 

              assertEquals(expected, classifier.classifyTriangle(a, b, c)); 

          } 

      }  } 

       

      posted @ 2025-04-21 22:47  /張根源/  閱讀(21)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品露脸视频观看| 成人午夜av在线播放| 无码人妻精品一区二区三区蜜桃| 精品国产一区av天美传媒| 在线成人精品国产区免费| 国产精一区二区黑人巨大| 国产成人精品无码播放| 99久久精品费精品国产| 免费人成在线视频无码| 日韩国产中文字幕精品| 天堂网亚洲综合在线| 中文字幕国产日韩精品| 久久精品国产清自在天天线| 国产成人一区二区不卡| 久久成人影院精品777| 亚洲男人电影天堂无码| 国产一区二区三区禁18| 亚洲国产精品人人做人人爱| 最新亚洲人成网站在线影院| 国产国产精品人体在线视| 国产成人精品无码一区二区老年人 | 云阳县| 亚洲精品午夜精品| 国产精品无码a∨麻豆| 18禁黄网站免费| 丰满人妻被黑人猛烈进入| 成人精品老熟妇一区二区| 国产无套粉嫩白浆在线| 日本国产精品第一页久久| 热久久美女精品天天吊色| 亚洲国产在一区二区三区 | 2021亚洲va在线va天堂va国产| 久久亚洲国产欧洲精品一| 狠狠干| 少妇爽到呻吟的视频| 国产熟女一区二区三区蜜臀| 国产一区二区av天堂热| 午夜福利日本一区二区无码| 精品人妻av中文字幕乱| 无码av波多野结衣| 中文字幕在线无码一区二区三区|