Fallo de inicializacion
Publicado por Dani (2 intervenciones) el 17/12/2006 19:05:35
Muy buenas, soy muy novato en esto de java y veran tengo un problema.Estoy haciendo un pequeño algoritmo con una clase reutilizable y en la clase reutilizable me da error en la variable "resultado" me dice k no esta inicializada, pero si la inicializo despues de definirla como double, al ejecutarlo siempre se me keda el resultado=0.0.
Os dejo el codigo por si m podeis exar una manilla
public class Operacion
{
private double valor1;
private double valor2;
private char operador;
Operacion()
{
valor1=0.0;
valor2=0.0;
}
public double calcularOperacion()
{
double resultado;
if (operador == '*')
resultado=(valor1*valor2);
else
if (operador == '/')
resultado=(valor1/valor2);
else
if (operador == '+')
resultado=(valor1+valor2);
else
if (operador == '-')
resultado=(valor1-valor2);
else
if (operador == '%')
{
resultado=(valor1%valor2);
}
return resultado;
}
}
import java.io.*;
public class Uso_operacion
{
public static String leer(String operacion) throws IOException
{
BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
System.out.print(operacion);
String cadenaLeida=entrada.readLine();
return cadenaLeida;
}
public static void main(String argv[]) throws IOException
{
Operacion operacion=new Operacion();
double valor1;
valor1=Double.parseDouble(leer("Escriba el primer número:"));
double valor2;
valor2=Double.parseDouble(leer("Escriba el segundo número:"));
String operador;
operador=leer("Escriba el operador");
mostrar(operacion);
}
public static void mostrar(Operacion miOperacion)
{
System.out.println("Resultado:"+miOperacion.calcularOperacion());
}
}
Os dejo el codigo por si m podeis exar una manilla
public class Operacion
{
private double valor1;
private double valor2;
private char operador;
Operacion()
{
valor1=0.0;
valor2=0.0;
}
public double calcularOperacion()
{
double resultado;
if (operador == '*')
resultado=(valor1*valor2);
else
if (operador == '/')
resultado=(valor1/valor2);
else
if (operador == '+')
resultado=(valor1+valor2);
else
if (operador == '-')
resultado=(valor1-valor2);
else
if (operador == '%')
{
resultado=(valor1%valor2);
}
return resultado;
}
}
import java.io.*;
public class Uso_operacion
{
public static String leer(String operacion) throws IOException
{
BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
System.out.print(operacion);
String cadenaLeida=entrada.readLine();
return cadenaLeida;
}
public static void main(String argv[]) throws IOException
{
Operacion operacion=new Operacion();
double valor1;
valor1=Double.parseDouble(leer("Escriba el primer número:"));
double valor2;
valor2=Double.parseDouble(leer("Escriba el segundo número:"));
String operador;
operador=leer("Escriba el operador");
mostrar(operacion);
}
public static void mostrar(Operacion miOperacion)
{
System.out.println("Resultado:"+miOperacion.calcularOperacion());
}
}
Valora esta pregunta


0