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

AYUDA...para terminar esta calculadora..!

Estas en el tema de AYUDA...para terminar esta calculadora..! en el foro de Java en Foros del Web. disculpen nuevamente amigos... ahora traigo este codigo...de una calculadora a medias.. tengo que agregar los botones: A)division,multiplicacion,resta y suma. B)igual y cambio de signo C)de ...
  #1 (permalink)  
Antiguo 15/02/2011, 18:10
 
Fecha de Ingreso: febrero-2011
Ubicación: mexico
Mensajes: 20
Antigüedad: 13 años, 9 meses
Puntos: 0
AYUDA...para terminar esta calculadora..!

disculpen nuevamente amigos...
ahora traigo este codigo...de una calculadora a medias..
tengo que agregar los botones:
A)division,multiplicacion,resta y suma.
B)igual y cambio de signo
C)de cancelar numero AC

SOLO ESO...pero este codigo al ejecutarlo asi como esta..me aparece este mensaje:
"else without if" quisiera me ayudaran a solucionar esto...de antemano gracias..
PROHIBIDO USAR EL SETBOUNDS Y CLASE RECTANGLE

Cita:
/***************************************
Nombre del programa:POOU2E0001.java
Fecha de preogramacion: 14 de Febrero de 2011
Autor: Baltazar Oliva Carlos
Objetivo: Ejemplo basico de inicio de una POOU2E0001
**************************************/

import javax.swing.*;
import java.awt.*;
import java. awt.event.*;

public class POOU2E0001 extends JFrame implements ActionListener {
boolean Nuevo = true;
Label JLPantalla = null;
Button JBButon;

JPanel JPPanel1, JPPanel2;


public POOU2E0001(){
setTitle("POOU2E0001");
setSize(200, 200);
CreaPantalla();
CreaTeclado();

}

private void CreaPantalla(){

JPPanel1 = new JPanel();
JPPanel1.setLayout(new GridLayout(1, 1));
JLPantalla = new Label();
JPantalla.setText("0");
JLPantalla.setAlignment(Label.RIGHT);

JLPantalla.setForeground(Color.yellow);

JPPantalla.setBackground(Color.blue);
JPPanel1.add(JLPantalla);

add("North", JPPanel1);
}
public void CreaTeclado() {

JPPanel2 = new JPanel();
JPPanel2.setLayout(new GridLayout(4, 4));


CrearBoton("7", Color.blue);
CrearBoton("8", Color.blue);
CrearBoton("9", Color.blue);
CrearBoton("/", Color.red);



CrearBoton("4", Color.blue);
CrearBoton("5", Color.blue);
CrearBoton("6", Color.blue);
CrearBoton("*", Color.red);
CrearBoton("sqrt", Color.red);

CrearBoton("1", Color.blue);
CrearBoton("2", Color.blue);
CrearBoton("3", Color.blue);
CrearBoton("-", Color.red);
CrearBoton("AC", Color.red);

CrearBoton("0", Color.blue);
CrearBoton(".", Color.blue);
CrearBoton("C", Color.blue);
CrearBoton("+", Color.red);
CrearBoton("=", Color.red);

add("Center", JPPanel2);

}

private void CrearBoton (String Texto, Color color){
JBBoton = new Button(texto) ;
JBBoton.setForeground(Color);
JPPanel2add(JBBoton);

JBBoton.addActionListener( this );

}
public void actionPerformed (ActionEvent event) {



Sring Tecla = event.getActionCommand();


String ResultadoP = JLPantalla.getText();


if (Tecla.equals(".")){

if (Nuevo) {

Nuevo = False;

ResultadoP = ResultadoP + ".";

}

}
else

if(Tecla.equals("c")) {

ResultadoP = "0";

Nuevo = true;


}
else
if(ResultadoP.equals("0"));

ResultadoP = Tecla;


else
ResultadoP = ResultadoP + Tecla;
JLPantalla.setText(ResultadoP);
}
public static void main (String[] args) {
POOU2E0001 ObjCal = new POOU2E0001();

ObjCal.show();
ObjCal.setDefaultCloseOperation(ObjCal.EXIT_ON_CLO SE);
ObjCal.setLocationRelativeTo(null);
}
}
  #2 (permalink)  
Antiguo 15/02/2011, 20:16
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 14 años
Puntos: 24
Respuesta: AYUDA...para terminar esta calculadora..!

Amigo, amigo, amigo! Tu código tiene como 72537453 errores! :O
¿No estás programando con algún IDE? Prueba usar el NetBeans, te ayudará mucho.
Aquí te resumo alguno de los errores de sintaxis que encontré, dentro de mi poco conocimiento:
1.- No existe el tipo de dato Sring, sino String.
2.- Java es sensible a las mayúsculas y minúsculas. No es lo mismo "Text" que "text".
3.- Recuerda bien el nombre de tus variables. Definiste JBButon y luego lo quieres usar pero llamándolo como JBBoton ¬¬
4.- Te hiciste un lío con los if else. El error que te bota es porque hay (al menos un) else que no tiene su correspondiente if. En realidad en tu código si los tiene, pero tienes un serio problema con los corchetes que indican el inicio y el final de un bloque de código. Los pones por donde sea . Revisa tus apuntes de operadores condicionales. URGENTE!
5.- Es una mala práctica importar toda una librería si no es necesario... Por ejemplo, importaste toda la libreria javax.swing cuando sólo necesitabas javax.swing.JFrame y javax.swing.JPanel.
6.- usaste el método .show() para mostrar tu Frame. Ese método ya está obsoleto! (ya no se usa) En su lugar utiliza el .setVisible(true)
7.- y otras cosas más que tú mismo te darás cuenta
Usando el NetBeans correjí un poco de tu código sólo para que compile, se logra mostrar la calculadora, pero no realiza ninguna función de la misma puesto que no has implementado el código. Intenta seguir, pero no avanzes a ciegas, has un poco de código y previsualiza como va quedando... no es posible que hayas escrito tanto código a ciegas y ni siquiera comprobar si compila adecuadamente...
Código Java:
Ver original
  1. import java.awt.Button;
  2. import java.awt.Color;
  3. import java.awt.GridLayout;
  4. import java.awt.Label;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import javax.swing.JFrame;
  8. import javax.swing.JPanel;
  9.  
  10. public class Main extends JFrame implements ActionListener {
  11. boolean Nuevo = true;
  12. Label JLPantalla = null;
  13. Button JBButon;
  14.  
  15. JPanel JPPanel1, JPPanel2;
  16.  
  17.  
  18. public Main(){
  19. setTitle("POOU2E0001");
  20. setSize(200, 200);
  21. CreaPantalla();
  22. CreaTeclado();
  23.  
  24. }
  25.  
  26. private void CreaPantalla(){
  27.  
  28. JPPanel1 = new JPanel();
  29. JPPanel1.setLayout(new GridLayout(1, 1));
  30. JLPantalla = new Label();
  31. JLPantalla.setText("0");
  32. JLPantalla.setAlignment(Label.RIGHT);
  33.  
  34. JLPantalla.setForeground(Color.yellow);
  35.  
  36. JLPantalla.setBackground(Color.blue);
  37. JPPanel1.add(JLPantalla);
  38.  
  39. add("North", JPPanel1);
  40. }
  41. public void CreaTeclado() {
  42.  
  43. JPPanel2 = new JPanel();
  44. JPPanel2.setLayout(new GridLayout(4, 4));
  45.  
  46.  
  47. CrearBoton("7", Color.blue);
  48. CrearBoton("8", Color.blue);
  49. CrearBoton("9", Color.blue);
  50. CrearBoton("/", Color.red);
  51.  
  52.  
  53.  
  54. CrearBoton("4", Color.blue);
  55. CrearBoton("5", Color.blue);
  56. CrearBoton("6", Color.blue);
  57. CrearBoton("*", Color.red);
  58. CrearBoton("sqrt", Color.red);
  59.  
  60. CrearBoton("1", Color.blue);
  61. CrearBoton("2", Color.blue);
  62. CrearBoton("3", Color.blue);
  63. CrearBoton("-", Color.red);
  64. CrearBoton("AC", Color.red);
  65.  
  66. CrearBoton("0", Color.blue);
  67. CrearBoton(".", Color.blue);
  68. CrearBoton("C", Color.blue);
  69. CrearBoton("+", Color.red);
  70. CrearBoton("=", Color.red);
  71.  
  72. add("Center", JPPanel2);
  73.  
  74. }
  75.  
  76. private void CrearBoton (String Texto, Color color){
  77. JBButon = new Button(Texto) ;
  78. JBButon.setForeground(color);
  79. JPPanel2.add(JBButon);
  80.  
  81. JBButon.addActionListener( this );
  82.  
  83. }
  84. public void actionPerformed (ActionEvent event) {
  85.  
  86. String Tecla = event.getActionCommand();
  87.  
  88.  
  89. String ResultadoP = JLPantalla.getText();
  90.  
  91.  
  92. if (Tecla.equals(".")){
  93.  
  94. if (Nuevo) {
  95.  
  96. Nuevo = false;
  97.  
  98. ResultadoP = ResultadoP + ".";
  99.  
  100. }
  101.     }
  102. else{
  103.    
  104. }
  105.  
  106. if(Tecla.equals("c")) {
  107.  
  108. ResultadoP = "0";
  109.  
  110. Nuevo = true;
  111.  
  112. }
  113. else{
  114. if(ResultadoP.equals("0")){
  115.     ResultadoP = Tecla;
  116. }
  117.  
  118. else{
  119.   ResultadoP = ResultadoP + Tecla;
  120. }    
  121. }
  122.  
  123. JLPantalla.setText(ResultadoP);  
  124. }
  125. public static void main (String[] args) {
  126. Main ObjCal = new Main();
  127.  
  128.  
  129. ObjCal.setDefaultCloseOperation(ObjCal.EXIT_ON_CLOSE);
  130. ObjCal.setLocationRelativeTo(null);
  131. ObjCal.setVisible(true);
  132. }
  133. }
  #3 (permalink)  
Antiguo 16/02/2011, 01:36
 
Fecha de Ingreso: febrero-2011
Mensajes: 27
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: AYUDA...para terminar esta calculadora..!

Como dijo farfamorA (Personalmente prefiero a lima y a cereza antes que a zarzamora :P) no vayas a ciegas, lo próximo que deberías hacer es crear el método sumar, restar, multiplicar, dividir etc etc etc y probarlos a mano, ya luego tendrás que aprender el uso de los ActionListeners para los botones, pero primero hazlo en modo texto por consola :P

Ah, y por favor, cuidado con los nombres de métodos y variables... comienzan en minúsculas!

Etiquetas: calculadora, terminar
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 14:26.