该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public class Test {
public void fun(){
//创建一个存储100个整数的数组
int[] array = new int[100];
//并依此给元素赋值1-100
for (int i = 0; i < array.length; i++) {
array[i]=i+1;
}
//然后输出这些整数(1行显示10个数)
printArray(array);
System.out.println("----------------------------");
//另将所有完备数放在数组前面,非完备数放在数组后面,并显示结果。
//临时变量用于交换数字
int tmp=0;
//用于记录数组下标
int count=0;
for (int i = 0; i < array.length; i++) {
//如果是完全数则放到最前面
if (isPerfectNumber(array[i])) {
tmp = array[count];
array[count] = array[i];
array[i]=tmp;
count++;
}
}
//输出
printArray(array);
}
/**
* 每十行输出数组的方法
* @param array
*/
public void printArray(int[] array){
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
if(array[i]%10==0){
System.out.println();
}
}
}
/**
* 判断一个数组里有多少个完全数的方法
* @param array
* @return
*/
public int hasPerfectNumber(int[] array){
int tmp=0;
for (int i = 0; i < array.length; i++) {
if(isPerfectNumber(array[i])){
tmp++;
}
}
return tmp;
}
/**
* 判断是否为完全数的方法
* @return
*/
public boolean isPerfectNumber(int number){
int tmp=0;
for (int i = 1; i < number; i++) {
if (number%i==0) {
tmp+=i;
}
}
if(tmp==number){
return true;
}
return false;
}
public static void main(String[] args) {
Test test = new Test();
test.fun();
}
}