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

Calculadora en java problema?

Estas en el tema de Calculadora en java problema? en el foro de Java en Foros del Web. Que tal amigos soy nuevo aqui ojala y me puedan ayudar, lo que pasa es que tengo que hacer una calculadora en netbeans pero ya ...
  #1 (permalink)  
Antiguo 25/11/2013, 20:56
Avatar de lcdiego098  
Fecha de Ingreso: noviembre-2013
Ubicación: Colombia
Mensajes: 1
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Calculadora en java problema?

Que tal amigos soy nuevo aqui ojala y me puedan ayudar, lo que pasa es que tengo que hacer una calculadora en netbeans pero ya tengo mi codigo para que me sume, reste, multiplique, divida a la ves una cadena de numeros por ejemplo 1+2+3-5*9 este codigo realiza perfectamente esa operaciony me da el resultado correcto lo que sucede es que cuando digito numeros de 2 cifras ya no me da el resultado correcto por ejemplo 12+10+20/11, quisiera que miren mi caodigo y me digan que parte tengo que cambiar para hacer que si me sume numeros de 2 cifras no solo me sume y reste numeros de 1 cifra ojala me entiendas gracias y aqui esta mi codigo tiene algunos metodos de otra clase que instancie pero eso es para otra cosa solo quiero que me digan o de las 2 cifras y si quieren lo prueban gracias



Código Java:
Ver original
  1. package calcu;
  2.  
  3. import java.util.Scanner;
  4.  
  5. /**
  6.  *
  7.  * @author Diego
  8.  */
  9. public class Calcu extends Operar {
  10.  
  11.    
  12.     public static void main(String[] args) {
  13.        
  14.   Operar sc = new Operar();
  15.   Scanner dato= new Scanner(System.in);
  16.      
  17.        
  18.   for(int r=0;r<1000;r++){
  19.       System.out.println("---------------------------------------------------------------------------------------------------------------------");
  20.       System.out.println("Ingrese cadena a operar: ");
  21.       System.out.println("Si quiere calcular Seno escriba 'sen', Coseno escriba 'cos', Tangente escriba 'tan', Logaritmo escriba 'log', Raiz cuadrada escriba 'raiz'");
  22.       System.out.println("Presione '0' para salir");
  23.       System.out.println("---------------------------------------------------------------------------------------------------------------------");
  24.       String cadena=dato.nextLine(), num="";  
  25.  
  26.         float suma = 0;
  27.        
  28.         for(int i=0;i<cadena.length();i++){
  29.         if(cadena.charAt(i)=='-'){
  30.         i++;
  31.         suma -= Integer.parseInt(""+cadena.charAt(i));
  32.          
  33.         }else{
  34.         if(cadena.charAt(i)=='+'){
  35.         i++;
  36.         suma += Integer.parseInt(""+cadena.charAt(i));
  37.        
  38.         }else{
  39.         if(cadena.charAt(i)=='*'){
  40.         i++;
  41.         suma *= Integer.parseInt(""+cadena.charAt(i));
  42.        
  43.         }else{
  44.         if(cadena.charAt(i)=='/'){
  45.         i++;
  46.         suma /= Integer.parseInt(""+cadena.charAt(i));  
  47.        
  48.         }else{
  49.          if(cadena.equals("sen")){
  50.          i++;
  51.              sc.SENO();
  52.         }else{
  53.          if(cadena.equals("cos")){
  54.          i++;
  55.             sc.COSENO();
  56.          }else{
  57.          if(cadena.equals("tan")){
  58.           i++;
  59.             sc.TANGENTE();
  60.          }else{
  61.          if(cadena.equals("log")){
  62.           i++;
  63.             sc.LOGARITMO();
  64.          }else{
  65.          if(cadena.equals("raiz")){
  66.           i++;
  67.             sc.RAIZCUADRADA();
  68.          }else{
  69.          if(cadena.equals("0")){
  70.             System.exit(0);
  71.          }else
  72.         suma += suma += Integer.parseInt(""+cadena.charAt(i));
  73.         }
  74.         }
  75.         }
  76.         }
  77.         }
  78.         }
  79.         }
  80.         }
  81.         }
  82.         }
  83.         System.out.println("El resultado de " +cadena+ " es: " +  suma);
  84.         }      
  85.         }
  86.         }

Última edición por razpeitia; 28/11/2013 a las 13:50
  #2 (permalink)  
Antiguo 26/11/2013, 02:33
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Calculadora en java problema?

CharAt como su nombre indica, devuelve sólo un caracter, así que como recuperas uno por iteración estás cortando los números.

O cambias de estrategia o tienes que controlar que estás recuperando todos los números entre dos signos.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: calculadora, clase, metodo, netbeans, 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 17:52.