第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 測試除零

Java 測試除零

繁花不似錦 2023-08-16 10:15:47
我正在嘗試測試除以零的功能。如果我這樣做:System.out.println(5/0),我會得到j(luò)ava.lang.ArithmeticException我正在嘗試測試是否引發(fā)了異常。這是我的單元測試: @Test(expected = ArithmeticException.class)    public void given_divideByZeroInput_when_divideByZero_then_verify_throwing_exception() {        MathClass sut = new MathClass();        sut.div(10,0);    }我的div就是這么簡單: public float div(int x, int y) {        return (float) x/y;    }但是,單元測試失敗,指出:java.lang.AssertionError: Expected exception: java.lang.ArithmeticException我做錯了什么?我知道有很多方法可以測試拋出的異常,但我試圖堅持使用簡單的方法@Test(excepted = .. )
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經(jīng)驗 獲得超8個贊

答案:

您正在將 x 轉(zhuǎn)換為浮點數(shù)。因此,您沒有像在第一個代碼片段中那樣進行整數(shù)除法,而是進行浮點除法。因此,結(jié)果就是 Infinity,這也不例外。

但還有一點需要解釋:

????return?(float)?x/y;

方法

  1. 轉(zhuǎn)換xfloat

  2. ((float) x) / y使用浮點運算執(zhí)行計算

  3. 返回值

當(dāng)您移除石膏時:

????return?x/y;

方法

  1. x/y使用整數(shù)算術(shù)執(zhí)行計算

  2. 將值轉(zhuǎn)換為浮點數(shù)(隱式!)

  3. 返回值

因此,實際上存在許多(潛在的)概念錯誤可能導(dǎo)致您犯下錯誤。

  • 類型轉(zhuǎn)換的優(yōu)先級高于/.

  • 使用 32 位浮點算術(shù)執(zhí)行涉及 anint和 a 的算術(shù)運算。floatint操作數(shù)將被擴展為 a?float

  • 加寬也發(fā)生在“賦值上下文”中,語句return就是賦值上下文。


查看完整回答
反對 回復(fù) 2023-08-16
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號