public class PerfectNumber{
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 class QiouWanQuanShu {
public static void main(String[] args) {
int sum=0; //用来存放因数的和
System.out.print("1000中de完全数有:");
for(int i=1;i=1000;i++){ //循环1000次
for(int j=1;ji;j++){
if(i%j==0) //判断除数是否被整除
sum=sum+j;
if(i==sum) //判断因数是否与这个数的本身想等
System.out.print(i+" ");
sum=0; //初始存放因数的和,下次循环继续用
int a, b, sum;
sum = 0;
for (a = 1; a = 1000; a++) {
for (b = 1; b a; b++) {
if (a % b == 0) {
sum = sum + b;
if (sum == a) {
System.out.println(sum);
// 如果这里不重置清零,则上方sum = sum + b; 这行语句会将上一次值累加上去,就不是我们想要的值了
import java.util.ArrayList;
public class Testa {
public static void main( String[] args ) {
ArrayListInteger arrayList = new ArrayListInteger();
for ( int i = 1; i = 1000; i++ ) {
int k=0;
if(i%j==0){
k+=j;
if(k==i){
arrayList.add( i );
System.out.println(arrayList);
以上就是土嘎嘎小编为大家整理的java完全数代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!