[問題] try catch

看板java作者 (小朱)時間17年前 (2009/02/26 00:11), 編輯推噓6(600)
留言6則, 4人參與, 最新討論串1/1
這次作業要寫一個GUI的小算盤 現在寫除法的時候遇到一點問題 try { result /= RightNum; } catch(ArithmeticException e) { TxtField.setText("無法除以零。"); } 我的用意是想當除以零的時候跑出 "無法除以零。" 這段文字 但是TxtField卻跑出Infinity 請問為什麼會這樣呀? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.122.130.119

02/26 00:46, , 1F
你把 result 宣告為 float/double? 浮點數是可以除以 0
02/26 00:46, 1F

02/26 01:53, , 2F
咦?我以為會是 NaN?
02/26 01:53, 2F

02/26 02:07, , 3F
0.0 / 0 => NaN
02/26 02:07, 3F

02/26 03:40, , 4F
而且就算是 NaN 也不會有 ArithmeticException
02/26 03:40, 4F

02/26 11:32, , 5F
我猜result和RightNum都是浮點數, 並且RightNum是0 這樣的確
02/26 11:32, 5F

02/26 11:34, , 6F
會是Infinity
02/26 11:34, 6F
sbrhsieh:RightNum 不一定得是浮點數 ※ 編輯: s35300792001 來自: 122.122.130.119 (02/26 12:38)
文章代碼(AID): #19fMsuHS (java)