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

Calculadora Gráfica en Java

Estas en el tema de Calculadora Gráfica en Java en el foro de Java en Foros del Web. Saludos actualmente estoy trabajando con una calculadora en java, la cual realiza las operaciones básica(Sumar restar, Multiplicar y Dividir). Estoy guardando todo en una cadena, ...
  #1 (permalink)  
Antiguo 02/04/2012, 08:18
 
Fecha de Ingreso: enero-2011
Mensajes: 33
Antigüedad: 13 años, 3 meses
Puntos: 0
Calculadora Gráfica en Java

Saludos actualmente estoy trabajando con una calculadora en java, la cual realiza las operaciones básica(Sumar restar, Multiplicar y Dividir). Estoy guardando todo en una cadena, pero mi problema Viene al querer mostrar el resultado, ya que no encuentro como convertir una cadena de tipo: "11+23*65/2" A una operación para mostrar el resultado, espero me ayuden, Saludos!
  #2 (permalink)  
Antiguo 02/04/2012, 09:49
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 1 mes
Puntos: 12
Respuesta: Calculadora Gráfica en Java

Suponiendo que la calculadora es tan basica que no permita introducir parentesis ni numeros negativos, y que la cadena introducida es válida, lo que tienes que hacer tratar la cadena de izquierda a derecha, obteniendo un número, el operador que le sigue, el siguiente número, efectuar la operacion para obtener nuevamente un número. Y ahora seguir iterando (extraer operador, extraer número, operar) hasta acabar la cadena.

El "despiece" de la cadena, lo puedes hacer "a mano" explorando la cadena caracter a caracter, construyendo el número operando, a base de potencias de 10, cada vez que lo encontrado sea un dígito...

O puedes usar la clase StringTokenizer que te dará cada una de las partes (operandos y operadores) como tokens, limitando tu algoritmo a discriminar cada operador para aplicar la operacion requerida.
  #3 (permalink)  
Antiguo 02/04/2012, 20:02
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Calculadora Gráfica en Java

Esto creo que iría en programación en general, vas a tener que construir un algoritmo que lo calcule de izquierda a derecha como dice luis_vega, cuando estudiaba hice una de la siguiente manera, tenia las variables:

creas o buscas una funcion split()
funcion split() ----> devuelve un vector con los terminos de la operacion, operadores y operandos ["14","+","3","*","2.0","-","4"]

terminos = split(string)
valor = termino[0]
valor_temporal
simbolo = +
simbolo_temporal

para tratar el tema de la prioridad de la multiplicación, entonces hacía así,
recorres todo el vector y vas asignando a valor_ temporal y a signo_temporal el resultado de las multiplicaciones, y cuando llegas a un + o - operas valor con valor_temporal con el ultimo signo que habias dejado en signo y as'i hasta que llegas al final
mas o menos asi lo hice yo Salut

Etiquetas: calculadora
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:03.