Foros del Web » Programación para mayores de 30 ;) » Java »

Problema programa calculadora

Estas en el tema de Problema programa calculadora en el foro de Java en Foros del Web. Buenas, soy nuevo en el foro y en esto de la programación, sobretodo con java. Estoy siguiendo un libro llamado Java SE 6 y en ...
  #1 (permalink)  
Antiguo 27/11/2012, 11:58
 
Fecha de Ingreso: noviembre-2012
Ubicación: Adra
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema programa calculadora

Buenas, soy nuevo en el foro y en esto de la programación, sobretodo con java. Estoy siguiendo un libro llamado Java SE 6 y en el me aparece un programa ya hecho que supuestamente ya debería funcionar.

El caso es que he escrito el código que aparece en dicho libro y el compilador (Eclipse en ubuntu) me dice que las variables n1 y n2 no están declaradas aunque como ya dije en el libro tampoco lo están.

Mi pregunta es si puede ser obra del compilador, ya que el libro sigue en netbeans de windows.

Aqui dejo el código para que le echeis un ojo.

Código Javascript:
Ver original
  1. import java.util.*;
  2. public class Calculadora {
  3.     public static void main(String []args){
  4.         char opcion;
  5.         Scanner sc=new Scanner(System.in);
  6.         System.out.println("Programa Calculadora");
  7.         do{
  8.             do{
  9.                 System.out.println("Selecciona una operación: +,-,*,/ (0 para terminar)");
  10.                 String texto=sc.nextLine();
  11.                
  12.                 opcion=(texto.length()>0)?texto.charAt(0):' ';
  13.             }while("+-*/0".indexOf(opcion)<0);
  14.             if(opcion !='0'){
  15.                 System.out.println("Introduce un número:");
  16.                 double num1=Double.parseDouble(sc.nextLine());
  17.                
  18.                 System.out.println("Introduce otro número:");
  19.                 double num2=Double.parseDouble(sc.nextLine());
  20.                
  21.                 switch(opcion){
  22.                 case '+':
  23.                     System.out.printf("%5.2f+%5.2f=%5.2f\n", n1,n2,n1+n2);
  24.                     break;
  25.                 case '-':
  26.                     System.out.printf("%5.2f-%5.2f=%5.2f\n", n1,n2,n1-n2);
  27.                     break;
  28.                 case '*':
  29.                     System.out.printf("%5.2f*%5.2f=%5.2f\n", n1,n2,n1*n2);
  30.                     break;
  31.                 case '/':
  32.                     if(n2>0)
  33.                         System.out.printf("%5.2f/%5.2f=%5.2f\n", n1,n2,n1/n2);
  34.                     break;
  35.                 }
  36.             }
  37.            
  38.         }while(opcion!='0');
  39.         System.out.println("Fin del programa");
  40.     }
  41. }
  #2 (permalink)  
Antiguo 27/11/2012, 12:01
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 10 meses
Puntos: 17
Respuesta: Problema programa calculadora

El codigo esta mal.
No existen las variables n1 y n2, las mismas son num1 y num2 las cuales se ingresan desde consola. Cambia el nombre de las variables num1 a n1 y num2 a n2 y listo

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #3 (permalink)  
Antiguo 27/11/2012, 12:19
 
Fecha de Ingreso: noviembre-2012
Ubicación: Adra
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema programa calculadora

Increible que no haya visto eso, gracias por tu pronta respuesta ^^.

Tengo otra pregunta:

Puedes explicarme para que sirve lo que aparece en la linea 12?
  #4 (permalink)  
Antiguo 27/11/2012, 12:25
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 10 meses
Puntos: 17
Respuesta: Problema programa calculadora

Cita:
Iniciado por rufi88 Ver Mensaje
Tengo otra pregunta:

Puedes explicarme para que sirve lo que aparece en la linea 12?
Código Java:
Ver original
  1. ...
  2. opcion=(texto.length()>0)?texto.charAt(0):' ';
  3. ...
Es una abreviacion de un if(), seria lo mismo que realizar lo siguiente:
Código Java:
Ver original
  1. ...
  2. if (texto.length() > 0)
  3.    opcion = texto.charAt(0);
  4. else
  5.    opcion = ' ';
  6. ...

Ahora, si tu pregunta es que funcion realiza esa linea, es capturar el tipo de operacion que ingresa el usuario desde consola.

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #5 (permalink)  
Antiguo 27/11/2012, 15:42
 
Fecha de Ingreso: noviembre-2012
Ubicación: Adra
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema programa calculadora

Duda aclarada, gracias :)

Etiquetas: calculadora, netbeans, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:45.