Java编程题:从键盘输入一个整数,判断该数是否是完全数。完全数是指所有因数(包括1但不包括其自身

Java编程题:从键盘输入一个整数,判断该数是否是完全数。完全数是指所有因数(包括1但不包括其自身)的和等于该数自身的数。 哪位大神会,帮帮忙啊!!

import java.io.*;

public class Demo2

{

public static void main(String []args)

{

try{

InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader br=new BufferedReader(isr);

System.out.print("请输入一个数:");

String a=br.readLine();

int num=Integer.parseInt(a);

int sum=0;

for(int j=1;j<=num/2;j++)

if(num%j==0)

sum=sum+j;

if(sum==num)

System.out.println(num+"是完全数");

else

System.out.println(num+"不是完全数");

}catch(Exception e)

{

e.printStackTrace();

}

}

};

追问

不对

第二个if后面错了

你看看

要不你运行一下试试

你看了吗

对不对

追答

是对的~~有图有真相

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-01
public class
{
    public static void main(String args[])
    {
          int data,temp;
          for(int i = 2; i < data; i++)
          {
            if((*data%i) == 0)
                temp = temp + i; 
            } 
           if(temp == data)
                System.out.println("该数字是完全数");
            else
               System.out.println("该数字不是完全数");

   
}

追问

我感觉不对

怎么是i<data

追答

因为data是待查询的数,而完全数的因数不能包含他自身啊

追问

题目是从键盘上输入一个数,不是自己定义

if后面也没有alse啦呢

相似回答