代码如下,希望能帮到你~!
import java.util.Scanner;
public class PerfectNumber {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String str;
long num;
System.out.println("请输入一个整数,输入end退出程序。");
while (true) {
str = in.nextLine();
if (str.equals("end"))
break;
try {
num = Long.parseLong(str);
} catch (Exception e) {
System.out.println("输入错误,请重新输入!");
continue;
}
System.out.println(num + (perfectNum(num) ? "是完全数" : "不是完全数"));
}
}
/**
* 判断一个数是否是完全数的方法
*
* @param num
* @return
*/
public static boolean perfectNum(long num) {
int sum = 0;
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) {
sum += i;
// System.out.println(i);
}
}
return sum == num;
}
}
取消
评论