【发布时间】:2015-10-14 19:33:33
【问题描述】:
这是我的代码:-
package javaapplication;
import java.util.Scanner;
public class perfect02 {
public static void main(String args[]) {
int i = 1, sum = 0;
System.out.println("Enter maximum range : ");
Scanner kb = new Scanner(System.in);
int a = kb.nextInt();
System.out.println("Enter minimum range : ");
Scanner kb2 = new Scanner(System.in);
int b = kb2.nextInt();
System.out.println("perfect number in the given range are :");
for (int n = b; n <= a; n++) {
while (i < n) {
if (n % i == 0) {
sum = sum + i;
}
i++;
}
if (sum == n)
System.out.println(+n + " ");
}
}
}
为什么程序不打印完美数字?
我已经检查了很多次代码,但我找不到解决方案。请告诉我我的代码出了什么问题。提前谢谢
任何帮助将不胜感激......
【问题讨论】:
-
也许这是罪魁祸首?
System.out.println(+n+ " ");并请显示错误 -
我没有收到任何错误
-
Eclipse 正在正常运行我的程序
-
请使用 Eclipse 的auto format functionality 格式化您的代码,并养成每当您进行更改时这样做的习惯。删除所有不必要的换行符。这目前完全难以辨认。
-
您应该考虑使用更有意义的变量名,例如
maxVal和minVal而不仅仅是a和b
标签: java perfect-numbers