NUMERO PERFECTO

Ejercicio de POO que verifica si un numero es perfecto en este pequeño ejercicio vamos a utilizar un constructor por defecto y un mero boolean  VerificarPerfecto(int valor) que recibe un valor entero como parametro.

La regla a seguir para determinar si un numero es perfecto es la siguiente:

Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos, sin incluirse él mismo. Dicho de otra forma, un número perfecto es aquel que es amigo de sí mismo.

En la clase principal se crea un objeto de la clase Perfecto y se usa un for para que el usuario ingrese 10 numeros y mediante el metodo boolean  VerificarPerfecto(int valor) analizamos cada numero ingresado y mostramos en pantalla si es perfecto.

A continuacion les dejo el codigo y las capturas de la ejecucion del programa.

CLASE PERFECTO

package pckNumeroPerfecto;

public class Perfecto {
    private int valor;

    public Perfecto()
    {
      this.valor=0;
    }
 
public boolean VerificarPerfecto(int valor)
    {
        this.valor = valor;
        int sum=0,t=1;
        while(t<this.valor)
        {
          if(this.valor % t == 0)
              sum+=t;
          t++;
        }
        if(sum==this.valor)
            return true;
        else
            return false;
    }
}

CLASE PRINCIPAL

package pckNumeroPerfecto;
import java.io.*;

public class Principal
{
    public static InputStreamReader Leer = new InputStreamReader(System.in);
    public static BufferedReader Teclado = new BufferedReader(Leer);
   
    public static void main(String[] args) throws IOException
    {
        System.out.println("Ingrese 10 Valores...!");

        int num=0,cont=0;
       
        Perfecto miercoles = new Perfecto();

        for(int i=1;i<=10;i++)
        {
          num = Integer.parseInt(Teclado.readLine());
          if(miercoles.VerificarPerfecto(num))
          {
            System.out.println("Numero Perfecto= " + num);
            cont++;
          }
        }
        System.out.println("Existen Numeros Perfectos: " + cont);  
    }
}

 






0 comentarios:

Publicar un comentario