Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2012, 11:58
rufi88
 
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. }