新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
public class PerfectNumber{
成都创新互联公司是专业的增城网站建设公司,增城接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行增城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
private static String[] isPrefectnumber(int n){
int sum=0;
StringBuffer sBuffer = new StringBuffer();;
for (int i = 1; i n; i++) {
if (n % i == 0){
sum += i;
sBuffer.append(","+i);
}
}
if (sum==n) {
return sBuffer.toString().replaceFirst(",", "").split(",");
}else {
return new String[0];
}
}
public static void main(String[] args){
String[] al= isPrefectnumber(t);
if (al.length!=0) {
StringBuffer sb = new StringBuffer();
sb.append(t+"是完数,其因子为");
for (int i = 0; i al.length ; i++) {
sb.append(","+al[i]);
}
System.out.println(sb.toString());
} else {
System.out.println(t+"不是完数");
}
}
}
public static void main(String[] args) {
int a, b, sum;
sum = 0;
for (a = 1; a = 1000; a++) {
for (b = 1; b a; b++) {
if (a % b == 0) {
// 此处用sum去累加了 如 sum =1 ,b =2, 则sum = 1 + 2;
sum = sum + b;
}
}
if (sum == a) {
System.out.println(sum);
}
// 如果这里不重置清零,则上方sum = sum + b; 这行语句会将上一次值累加上去,就不是我们想要的值了
sum = 0;
}
}
class PerfectNumber {
public static void main(String[] args) {
for (int i = 2; i = 1000; i++)
if (isPerfectNumber(i))
System.out.println(i);
}
static boolean isPerfectNumber(int i) {
int sumof = 0;
int j;
for (j = 1; j = i / 2; j++) {
if (i % j == 0) {
sumof += j;
}
}
return i == sumof;
}
}
你的程序我帮你改完了,改动的地方见注释。
完整的程序如下:
public class A {
public static void main(String[] args) {
for (int i = 2; i = 6; i++) {//这里把i6改成i=6 因为6是完数
int s=0; //这里移动到for-i循环中
int j=1; //这里移动到for-i循环中
while(ji){
if(i%j==0){
s=s+j;
}
j++;//这里移动到while-j循环外
}
if(s==i){
System.out.print(i+" ");
}
}
}
}
运行结果:
6