Java - programa en java(jbuilder)

 
Vista:

programa en java(jbuilder)

Publicado por angel (1 intervención) el 01/10/2007 21:47:54
tengo un problema y no se que hacer, con un programa.
nota:utilizo el jbuilder

mirar:

public class Intervalo {
private int x,y;
//constructores
public Intervalo(int a,int b)
{
x=a;
y=b;
}
public Intervalo(int b)
{
x=1;
y=b;
}
//metodos
//metodo perfectos
public void perfectos()
{
int i,j,sumadiv=0;
for(i=x;i<=y;i++)
{
for(j=1;j<=i/2;j++)
if(i%j==0)
sumadiv+=j;
if(i==sumadiv)
System.out.print(i+ " ");
sumadiv=0;
}
}

//metodo sumapares
public void sumaPares()
{
int i,j,sumapar=0;
for(i=x;i<=y;i++)
{
for(j=1;j<=i/2;j++)
if((i%j==0)&&(i%2==0))
sumapar+=i;
System.out.println("La suma de los pares es: "+sumapar);
}
*****************************************************************************
public class UsaIntervalo {
public static void main(String[] args) {
Intervalo in1=new Intervalo(5);
System.out.println("La suma de los numeros perfectos es: " + in1.perfectos());

y al ejecutar me da este error:

"UsaIntervalo.java": Error #: 358 : 'void' type not allowed here at line 6, column 62
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:programa en java(jbuilder)

Publicado por Victor Oliva (66 intervenciones) el 02/10/2007 00:25:58
Hola angel,

el problema que tienes es que declaraste al metodo "perfectos" de la clase "Intervalo " como void (void quiere decir que no retorna valores).
Entonces cuando haces esta intruccion:
System.out.println("La suma de los numeros perfectos es: " + in1.perfectos());
El compilador espera el valor de retorno.

Lo que te aconsejo es que hagas lo siguiente:

System.out.println("La suma de los numeros perfectos es: "); in1.perfectos();

Entonces ahora se vera un resultado y no habran mas errores.

Espero que te sirva de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar