作者dharma (达)
看板java
标题[问题] 函数一个程式码使用不同参数情形
时间Sun Jun 8 20:47:09 2014
下面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://webptt.com/cn.aspx?n=bbs/java/M.1402231631.A.43C.html
1F:推 LPH66:关键字 Generic 不过 primitive type 似乎又有点不同 06/08 20:52
感谢,研究ing
2F:推 Killercat:全long有什麽问题吗....? 06/08 22:00
有时用到int,有时用到long
3F:推 banjmin:如果你是真的觉得不够用 有个algo常用在加密演算法上 06/08 22:18
4F:→ banjmin:Miller-Rabin 有用java BigInteger实作 你可以用 06/08 22:20
5F:→ banjmin:不过他是机率式的检查是否是质数 测试次数要多 提高机率 06/08 22:23
※ 编辑: dharma (118.163.106.192), 06/08/2014 22:57:37
6F:→ eieio:只写一个 long 的就行了,input 是 int 时会自动被转成 long 06/09 01:29
7F:推 pupuliao:我也在想,把所有int强制转成long 不行吗? 06/09 03:27
8F:→ NewSpec:一个就够了 06/09 04:56