Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Programación > Java


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 19-sep-2012, 10:18   #1
Recien llegado
 
Avatar de kontaro
 
Fecha de Ingreso: enero-2012
Ubicación: Chile
Amigos 0
Mensajes: 13
Gracias: 6
Agradecido 0 veces en 0 mensajes.
Predeterminado Intento de calculadora

Como recien empece a estudiar java trato de convertir mis antiguos codigos de python a java
pero al tratar de hacer una calculadora me ocurre el siguiente error

*al elegir la opcion de restar suma la calculadora XD
aqui les envio el codigo,la calculadora solo cuenta con la parte de suma y rsta ya que me quede truncado ahi.
Código:
import java.util.Scanner;

public class suma3 {
    public static void main(String args [])
    {
        int numero1,
            numero2,
            eleccion,
            suma,
            resta;
        Scanner entrada = new Scanner( System.in);
        
        
        System.out.print("Esta es la calculadora magica \n1-Sumar \n2-Restar \n3-multiplicar \n4-Dividir");
        eleccion = entrada.nextInt();
        
        if (eleccion == 1)
            System.out.println("Ingrese El primer numero");
            numero1 = entrada.nextInt();
            System.out.println("Ingrese el segundo numero");
            numero2 = entrada.nextInt();
            suma = numero1 + numero2 ;
            System.out.printf("%d es el resultado",suma);
        if (eleccion == 2)
            System.out.print("Ingrese el primer numero");
            numero1 = entrada.nextInt();
            System.out.println("Ingrese el segundo numero");
            numero2 = entrada.nextInt();
            resta = numero1 - numero2 ;
            System.out.printf("%d es el resultado",resta);
    }
}
  
__________________
La experiencia es simplemente el nombre que le damos a nuestros errores

La mejor forma de predecir el futuro es inventarlo.-Alan Kay

Si crees que la vida apesta,no te preocupes,despues de la muerte viene una peor.-Mauricio Moyano
kontaro está desconectado   Responder Citando
Antiguo 19-sep-2012, 15:32   #2
Moderador
 
Avatar de ajr784
 
Fecha de Ingreso: marzo-2007
Amigos 5
Mensajes: 1.436
Gracias: 17
Agradecido 261 veces en 232 mensajes.
Predeterminado Respuesta: Intento de calculadora

Java no es python...
La diferencia es:
* En python, la identación es obligatoria y designa un bloque de ejecución.
* En java, la identación no es obligatoria (no es parte de la sintaxis).
Éste código:
Código:
if(a == b)
  System.out.println("Hola mundo");
  a++;
  b++;
  
Es equivalente a éste:
Código:
if(a == b){
  System.out.println("Hola mundo");
}
a++;
b++;
  
Y no a éste:
Código:
if(a == b){
  System.out.println("Hola mundo");
a++;
b++;
}
  
__________________
Hay pocas frases que me identifican tanto
Cita:
Iniciado por Cuarteto de Nos
Casi nunca veo la foto
Tuya en mi celular
Sigue ahí por la pereza
Que me da apretar "borrar"
-Enamorado Tuyo-
ajr784 está desconectado   Responder Citando
El Siguiente Usuario Agradeció a ajr784 Por Este Mensaje:
kontaro (19-sep-2012)
Antiguo 19-sep-2012, 15:51   #3
Recien llegado
 
Fecha de Ingreso: septiembre-2012
Ubicación: JVM
Amigos 0
Mensajes: 3
Gracias: 2
Agradecido 3 veces en 3 mensajes.
Predeterminado Respuesta: Intento de calculadora

Hola compañeros. Yo hice tu calculadora, pero con algunos ajustes, te dejo el código:

Código:
import java.util.Scanner;

 public class Calculadora {

  public static void main(String[] args) {

    Scanner read = new Scanner(System.in);

    int num1,num2,opc;
    float resultado=0;

   do {
     
     //Este codigo se repite mientras la opcion sea: <=0 Ó >5
    System.out.println("Por favor ingrese la opercion que desea realizar: ");

    System.out.println("1.- Sumar");
    System.out.println("2.- Restar");
    System.out.println("3.- Multiplicar");
    System.out.println("4.- Dividir");
    System.out.println("5.- salir");

    opc = read.nextInt();
    
    //Si ingresamos 5, el programa termina con una linea de ¡Adios!
    if( opc == 5) {

        System.out.println("Elegiste salir. ¡Adios!");break; }

    //Todo el codigo de ingresar una opcion se va a repetir mientras opc sea: <=0 ó >5
    } while (opc<=0 || opc>5);
    
    //Si la opcion elegida(entre 1-5) es diferente de 5 se hace el codigo restante
    if(opc!=5) {

    //Como la opcion elegida es valida para las operaciones respectivas, pedimos los numeros a operar
    System.out.println("Ingrese el primer valor: ");
    num1 = read.nextInt();

    System.out.println("Ingrese el segundo valor: ");
    num2 = read.nextInt();

    //Comparamos cual de estas opciones es la elegida
    if(opc == 1) {

    resultado= num1 + num2; }

    else if( opc == 2) {

    resultado = num1 - num2; }

    else if( opc == 3) {

    resultado = num1 * num2; }

    else if( opc == 4) {

    resultado = (float) (1.0 * num1 / num2); } }

   
    //Acá solo imprimimos el resultado
    System.out.println("El resultado de su operacion es: "+resultado);

   }
  
 }
  

Ahora te explico. Antes que nada, el código que esta entre el do { :


Código:
do {
    	
    System.out.println("Ahora ingrese la opercion que desea realizar: ");

    System.out.println("1.- Sumar");
    System.out.println("2.- Restar");
    System.out.println("3.- Multiplicar");
    System.out.println("4.- Dividir");
    System.out.println("5.- salir");

    opc = read.nextInt();
    
    if( opc == 5) {

        System.out.println("Elegiste salir. ¡Adios!");break; }

    } while (opc<=0 || opc>5);
  
todo ese código se va a repetir Mientras que la opcion elegida(opc) sea <= 0 ó mayor a 5. Así mismo, directamente dentro del bloque do { colocamos un if:


Código:
if( opc == 5) {

        System.out.println("Elegiste salir. ¡Adios!");break; }
  

Esto dice: Si elige la opcion 5, imprime: "Elegiste salir. ¡Adios!" y termina el programa. Por que lo pongo dentro del do { ? para que el programa termine directamente y no me pida ingresar los numeros a operar.

Luego viene el if: if(opc!=5) {

Esto nos dice, que mientras la opcion elegida sea diferente(!=) a 5, el programa continúa y evalúa cada uno de los if hasta encontrar al que tenga la opcion(opc) elegida.

Luego simplemente hace la operacion y el valor de la operacion la acumula en "resultado".

Al final sólamente imprimimos el resultado:


Código:
System.out.println("El resultado de su operacion es: "+resultado);
  
Espero te haya servido. Pude hacerlo mas fácil con un switch, pero al fin y al cabo ya lo hice :P Y también para que te des cuenta de las diferencias entre los if else anidados de python y Java.


Salu2!
Hystheria está desconectado   Responder Citando
El Siguiente Usuario Agradeció a Hystheria Por Este Mensaje:
kontaro (19-sep-2012)
Antiguo 19-sep-2012, 21:31   #4
Recien llegado
 
Avatar de kontaro
 
Fecha de Ingreso: enero-2012
Ubicación: Chile
Amigos 0
Mensajes: 13
Gracias: 6
Agradecido 0 veces en 0 mensajes.
Predeterminado Respuesta: Intento de calculadora

Muchas gracias por las dos respuestas,aun tengo arraigado el python ya que con el tengo mi base.

Reitero diciendo muchas gracias por la ayuda
__________________
La experiencia es simplemente el nombre que le damos a nuestros errores

La mejor forma de predecir el futuro es inventarlo.-Alan Kay

Si crees que la vida apesta,no te preocupes,despues de la muerte viene una peor.-Mauricio Moyano
kontaro está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calculadora algo mas compleja KamaleonNewbie Visual Basic y Net 0 16-ene-2012 07:50
[TK] Calculadora by sokoleonardo sokoleonardo Python 4 12-sep-2011 17:00
[python] Calculadora en python roilivethelife Python 5 29-ago-2011 22:10
Simple calculadora en c++ Doddy Carbide C/C#/C++ 9 22-abr-2011 07:09
Calculadora Simple en c++ Foxas Carbide C/C#/C++ 4 03-abr-2011 11:40



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0