Ayuda llamado a metodos

Iniciado por imircha, 21 Junio 2016, 19:23 PM

0 Miembros y 1 Visitante están viendo este tema.

imircha

Buenas estoy haciendo este programa para aprender a utilizar métodos, pero me da errores ya me bloquee, si alguien me puede indicar que estoy haciendo mal, se lo agradezco
/**
* @(#)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");
       }
      }
   }

KidRabbit

#1
Te dejo la corrección de tu programa. Creo que la corrección es lo que pretendías hacer, si no, hazmelo saber. Un saludo

Código (java) [Seleccionar]



import java.io.*;
import java.util.Scanner;



public class main {

private static   Scanner n = new Scanner(System.in);
private static  int contador = 0;




/**
* @(#)mate.java
*
* mate application
*
* @author
* @version 1.00 2016/6/1
*/


public static  void  suma(int n1, int n2, int result){
       

int resultado2 = 0;
String resp= "n";



do  {
       

resultado2 = n1 + n2;

       
System.out.println(resultado2);
       
       if(resultado2==result){
          System.out.println("El resultado es correcto \n");
       }
       else{
          System.out.println("El resultado es incorrecto \n");
          }
       System.out.println("¿Desea realizar otra suma? (s/n) \n");
       }while (resp=="s");
    }



    public static  void  resta (int n1, int n2, int result){
       
   
   
     
        double resultado2 = 0;
       
     
        resultado2 = n1 - n2;
       
       if(resultado2==result)
             System.out.println("verdadero \n");
       
       else
          System.out.println("falso \n");
       
    }
   
    public static void multiplicar (int n1, int n2, int result){
       
   
     
      double resultado2 = 0;
 
   
    resultado2 =  n1 * n2;
       
       if(resultado2==result){
             System.out.println("verdadero \n");
       }
       else{
          System.out.println("falso \n");
       }
    }
       
   public static void dividir(int n1, int n2, int result){
       
    double resultado2 = 0;
       
         
    resultado2 = n1 / n2;
       
       if(resultado2==result){
             System.out.println("verdadero \n");
       }
       else{
          System.out.println("falso \n");
       }
   }

    public static int pedirNumero(){
         
        contador++;
         
          System.out.println("ingrese numero" + contador + " : \n");
         
       
          return  n.nextInt();

         
   }
   
public static int pedirResultado(){


System.out.println("ingrese el resultado: ");

return n.nextInt();

}

   
      public static void main(String[] args) {


       int datoEntrada;
       
     
     
       
       do{
       
           
       System.out.println("seleccione la opcion \n");
       System.out.println("1: suma \n");
       System.out.print("2: resta \n");
       System.out.print("3: multiplicar \n");
       System.out.print("4: dividir \n");
       System.out.print("5: fin \n");
     
       datoEntrada = n.nextInt();
       
       
       switch (datoEntrada){
       
          case 1:
             suma(pedirNumero(), pedirNumero(), pedirResultado());
             break;
          case 2:
             resta(pedirNumero() , pedirNumero() , pedirResultado());
             break;
          case 3:
             multiplicar(pedirNumero(),pedirNumero(), pedirResultado());
             break;
          case 4:
             dividir(pedirNumero(), pedirNumero(), pedirResultado());
             break;
          case 5:
             
             break;
             
       default:
          System.out.println ("El numero seleccionado no es una opción \n");
          break;
       }
             
             
     }while (datoEntrada!=5);
   
    }
}


+ 1 Oculto(s)

no hace falta invocar tantas veces la clase Scanner