看板 java 關於我們 聯絡資訊
下面class是被呼叫來判斷是不是質數 是質數就傳回true 有時int會不夠用 會用到long 翻書看起來好像要將int和long各寫一個函式 兩者長的幾乎一樣 請問Java有辦法只寫一個函式 卻可同時被int和long的參數呼叫嗎? thank //下面是參數int public class IsPrime { boolean isPrime(int num) { boolean flag = true; for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { flag = false; break; } } return flag; } } //下面是參數long,和上面的差別就是小括號裡而已 public class IsPrime { boolean isPrime(long num) { boolean flag = true; for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { flag = false; break; } } return flag; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.106.192 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1402231631.A.43C.html
LPH66:關鍵字 Generic 不過 primitive type 似乎又有點不同 06/08 20:52
感謝,研究ing
Killercat:全long有什麼問題嗎....? 06/08 22:00
有時用到int,有時用到long
banjmin:如果你是真的覺得不夠用 有個algo常用在加密演算法上 06/08 22:18
banjmin:Miller-Rabin 有用java BigInteger實作 你可以用 06/08 22:20
banjmin:不過他是機率式的檢查是否是質數 測試次數要多 提高機率 06/08 22:23
※ 編輯: dharma (118.163.106.192), 06/08/2014 22:57:37
eieio:只寫一個 long 的就行了,input 是 int 時會自動被轉成 long 06/09 01:29
pupuliao:我也在想,把所有int強制轉成long 不行嗎? 06/09 03:27
NewSpec:一個就夠了 06/09 04:56