elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  SOS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: SOS  (Leído 2,054 veces)
imircha

Desconectado Desconectado

Mensajes: 2


Ver Perfil
SOS
« en: 21 Junio 2016, 19:20 pm »

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");
       }
       }
   }


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: SOS
« Respuesta #1 en: 21 Junio 2016, 20:14 pm »

Por favor, ponle la correspondiente etiqueta GeShi al código que has publicado. Estás en un foro de programación.

También deberías mencionar en que orden te da excepción y que tipo excepción es con su respectivo mensaje de error, eso en caso de que sea un error en tiempo de ejecución, ya que como no has especificado nada también podría tratarse de errores del compiler ...¿quien sabe?. Danos la información necesaria para poder ayudarte, no somos adivinos.

¿Has depurado el código en cuestión?.

PD: Yo no trabajo con Java, solamente te he indicado cosas básicas que debes proporcionar si formulas una pregunta de programación respecto a un error en un código...

Saludos


« Última modificación: 21 Junio 2016, 20:18 pm por Eleкtro » En línea



Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: SOS
« Respuesta #2 en: 21 Junio 2016, 22:03 pm »

Concuerdo con lo que dijo @Eleкtro no somos adivinos, si no nos dices que error tienes, es complicado ayudarte. Ahora, mirando por encima el código, un error que veo estás cometiendo es que estás usando variables en bloques de código donde no están declaradas (lee más sobre el scope)

Por ejemplo, datoentrada lo declaras en el método main, pero lo usas en suma donde la variable no está definida (lo que es un error).

Para solucionarlo, si quieres que datoentrada pueda ser utilizado por todos los métodos (o más de un método) declara la variable en el cuerpo de la clase para que así sea visible para todos los métodos. De lo contrario, la variable solo será visible en el método en que fue declarada.

Si ese no es el error, por favor comentanos cuál es.

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines