Necesito hacer un programa en Java, utilizando métodos, que lea en un menú del programa principal y dependiendo de la opción haga el llamado al método correspondiente. Pero no se que estoy haciendo mal que me da errores o horrores. Si alguien me puede ayudar se lo agradezco.
Aquí les dejo lo que he hecho hasta ahora
/**
* @(#)mate.java
*
* mate application
*
* @author
* @version 1.00 2016/6/1
*/
import java.io.*;
public class mate {
public static void main(String[] args) {
InputStreamReader entrada = new InputStreamReader(System.in);
BufferedReader flujoEntrada = new BufferedReader(entrada);
String datoentrada;
double op1,op2, r1,r2;
int opcion;
char resp;
try{
do{
System.out.println("seleccione la opcion");
System.out.println("1: suma");
System.out.print("2: resta");
System.out.print("3: multiplicar");
System.out.print("4: dividir");
System.out.print("5: fin");
datoentrada = flujoEntrada.readLine();
opcion = Integer.parseInt(datoentrada);
switch (opcion){
case 1:
suma(op1,op2,r1,r2);
break;
case 2:
resta(op1,op2,r1,r2);
break;
case 3:
multiplicar(op1,op2,r1,r2);
break;
case 4:
dividir(op1,op2,r1,r2);
break;
case 5:
break;
default:
System.out.println ("El numero seleccionado no es una opción");
break;
}
}while (opcion!=5);
}
catch (IOException error)
{
System.err.println("Error " + error.getMessage());
}
}
public static double suma(double num1,double num2,double result, double resultado2){
do {
System.out.println("ingrese primer numero: ");
datoentrada = flujoEntrada.readLine();
num2 = Double.parseDouble(datoentrada);
System.out.println("ingrese segundo numero: ");
datoentrada = flujoEntrada.readLine();
num2 = Double.parseDouble(datoentrada);
System.out.println("ingrese resultado: ");
datoentrada = flujoEntrada.readLine();
result = Double.parseDouble(datoentrada);
resultado2=num1+num2;
if(resultado2=result){
System.out.println("El resultado es correcto");
}
else{
System.out.println("El resultado es incorrecto");
}
System.out.println("¿Desea realizar otra suma? (S/N)");
}while (resp="S");
}
public static double resta (double num1,double num2,double result, double resultado2){
System.out.println("ingrese primer numero: ");
datoentrada = flujoEntrada.readLine();
num1 = Double.parseDouble(datoentrada);
System.out.println("ingrese segundo numero: ");
datoentrada = flujoEntrada.readLine();
num2 = Double.parseDouble(datoentrada);
System.out.println("ingrese resultado: ");
datoentrada = flujoEntrada.readLine();
result = Double.parseDouble(datoentrada);
resultado2=num1-num2;
if(resultado2=result){
System.out.println("verdadero");
}
else{
System.out.println("falso");
}
}
public static void multiplicar (double num1,double num2,double result, double resultado2){
System.out.println("ingrese primer numero: ");
datoentrada = flujoEntrada.readLine();
num1 = Double.parseDouble(datoentrada);
System.out.println("ingrese segundo numero: ");
datoentrada = flujoEntrada.readLine();
num2 = Double.parseDouble(datoentrada);
System.out.println("ingrese resultado: ");
datoentrada = flujoEntrada.readLine();
result = Double.parseDouble(datoentrada);
resultado2=num1*num2;
if(resultado2=result){
System.out.println("verdadero");
}
else{
System.out.println("falso");
}
}
public static void dividir(double num1,double num2,double result, double resultado2){
System.out.println("ingrese primer numero: ");
datoentrada = flujoEntrada.readLine();
num1 = Double.parseDouble(datoentrada);
System.out.println("ingrese segundo numero: ");
datoentrada = flujoEntrada.readLine();
num2 = Double.parseDouble(datoentrada);
System.out.println("ingrese resultado: ");
datoentrada = flujoEntrada.readLine();
result = Double.parseDouble(datoentrada);
resultado2=num1/num2;
if(resultado2=result){
System.out.println("verdadero");
}
else{
System.out.println("falso");
}
}
}