Problema en operaciones con Java.

Iniciado por Tronos154, 1 Agosto 2015, 16:51 PM

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

Tronos154

Buenas,estoy intentando hacer una especie de programa en Java a modo de ejercicio que básicamente resuelve operaciones básicas,una especie de calculadora.El problema es que cuando le indico los valores a operar solo acierta una operación y las otras da valores que no tienen nada que ver con lo que quiero que salga.Les adjunto el código para que puedan echarle un vistazo y ver si hay algún error.

package calculadora;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
*
* @author
*/
public class Calculadora {

   /**
    * @param args the command line arguments
    */

   public static void main(String[] args) throws Exception {
       System.out.println("Introduzca el primer valor numerico y pulse enter.");
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
           int a=br.read();
           System.out.println("Introduzca el segundo valor numerico y pulse enter");
       BufferedReader bd = new BufferedReader(new InputStreamReader(System.in));
           int b=bd.read();
       System.out.println("La suma de estos valores es:"+(a+b));
       System.out.println("La resta de estos valores es:"+(a-b));
       System.out.println("La multiplicacion de estos valores es:"+(a*b));
       System.out.println("La division de estos valores es:"+(a/b));
       System.out.println("El resto de la division de estos valores es:"+(a%b));
   }}

Pedro Ivan

Hola Tronos154
Bueno al ver tu código lo pude mejorar y así hacer que las operaciones las cuales eliges, bueno primeramente cree las variables seran de tipo float ya que si los ponemos en enteros no nos dara el resultado de las decmas las variablles son num1 y num2 y la de resultado por que creee estas ya que es mas fácil  hacer tanto las operaciones ya que solo mandas a llamar a variable resultado antes del mensaje de la opreacion que se iso con los numeros ingresador y mandar a llamar el resultado en el mensaje.
Te comparto el codigo el cual te puede ayudar con tu ejemplo de operacuones: https://www.youtube.com/watch?v=CyR_HBXbfic&feature=youtu.be
Codigo:
package calculadora;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
*
* @author PEDRO IVAN
*/
public class Calculadora {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
       
        float num1, num2, resultado;
         
         Scanner Teclado = new Scanner(System.in);
         
         System.out.println("Insertar el primer numero a sumar");
         num1 = Teclado.nextFloat();
         
         System.out.println("Insertar el segundo numero a sumar");
         num2 = Teclado.nextFloat();
         
         
         resultado = num1 + num2;
        System.out.println("La suma de estos valores es:"+resultado);
        resultado = num1 - num2;
        System.out.println("La resta de estos valores es:"+resultado);
        resultado = num1 * num2;
        System.out.println("La multiplicacion de estos valores es:"+resultado);
        resultado = num1 / num2;
        System.out.println("La division de estos valores es:"+resultado);
     
    }
    }
Espero y te sirva.

hectornunezrivas

#2
Otra forma de hacerlo seria por medio de una interfaz. te paso el codigo con el que lo hice.

OPERACIONES.java
Código (java) [Seleccionar]
public void calcular(String numero1, String numero2){

   int num1, num2, suma, resta, multiplicacion, division;

   if(!numero1.isEmpty() && !numero2.isEmpty()){

       num1=Integer.parseInt(numero1);
       num2=Integer.parseInt(numero2);

       suma=num1+num2;
       resta=num1-num2;
       multiplicacion=num1*num2;
       division=num1/num2;

       lblSuma.setText(String.valueOf(suma));
       lblResta.setText(String.valueOf(resta));
       lblMultiplicacion.setText(String.valueOf(multiplicacion));
       lblDivision.setText(String.valueOf(division));

   }else{

       JOptionPane.showMessageDialog(null, "Debe ingresar los números para "
       + "realizar las operaciones", "Error en la operación", JOptionPane.ERROR_MESSAGE);

   }

}  

INTERFAZ.java
Boton

Código (java) [Seleccionar]
String numero1=txtNumero1.getText();
String numero2=txtNumero2.getText();

calcular(numero1, numero2);

}                                    



Mod: Los códigos deben ir en etiquetas GeSHi