Java - Ayuda cadena de Caracteres

 
Vista:

Ayuda cadena de Caracteres

Publicado por chejito (8 intervenciones) el 02/08/2006 20:38:48
Hola , hace unos minutos pedi ayudas con los botones ahora necesito ayuda para sumar o unir cadena de caracteres, estoy haciendo un proyecto de la universidad el proyecto es una calculadora, pero necesito hace que cuando se presione el boton con el numero 1 aparezca en pantalla(esto ya lo hice y si funciona) ahora el problema que tengo es que si lo quiero presionar dos o tres veces, no funciona solo lo imprime una vez alguien me pudiese ayudar. aca les dejo el codigo
import java.awt.*;
import java.awt.Event.*;
import java.applet.Applet;

public class Primer_Proyecto extends java.applet.Applet
{
TextField pantalla;
Button uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,cero,mas,menos,multi,div,pun,igual;

public void init()
{
setLayout(null);
pantalla = new TextField(10);
uno = new Button("1");
dos = new Button("2");
tres = new Button("3");
cuatro = new Button("4");
cinco = new Button("5");
seis = new Button("6");
siete = new Button("7");
ocho = new Button("8");
nueve = new Button("9");
cero = new Button("0");
mas = new Button("+");
menos = new Button("-");
multi = new Button("*");
div = new Button("/");
pun = new Button(".");
igual = new Button("=");
String entrada;
double acarreo;
String mostrar;

add(pantalla);pantalla.reshape(42,17,115,25);
add(uno);uno.reshape(40,100,25,25);
add(dos);dos.reshape(70,100,25,25);
add(tres);tres.reshape(100,100,25,25);
add(cuatro);cuatro.reshape(40,70,25,25);
add(cinco);cinco.reshape(70,70,25,25);
add(seis);seis.reshape(100,70,25,25);
add(siete);siete.reshape(40,40,25,25);
add(ocho);ocho.reshape(70,40,25,25);
add(nueve);nueve.reshape(100,40,25,25);
add(cero);cero.reshape(40,130,25,25);
add(mas);mas.reshape(130,40,25,25);
add(menos);menos.reshape(130,70,25,25);
add(multi);multi.reshape(130,100,25,25);
add(div);div.reshape(130,130,25,25);
add(pun);pun.reshape(70,130,25,25);
add(igual);igual.reshape(100,130,25,25);

}
public boolean action(Event event, Object arg)/// esto es lo que mira los botones
{
String entrada = new String();
if(event.target instanceof Button)
{
if(arg.equals("1"))
{
entrada = (entrada + "1"); //aca es en donde tengo el problema
pantalla.setText(entrada);
return true;
}

}
return true;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda cadena de Caracteres

Publicado por kyo (21 intervenciones) el 02/08/2006 22:36:42
public class Primer_Proyecto extends java.applet.Applet
{
TextField pantalla;
Button uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,cero,mas,menos,multi,div,pun,igual;

public void init()
{
setLayout(null);
pantalla = new TextField(10);
uno = new Button("1");
dos = new Button("2");
tres = new Button("3");
cuatro = new Button("4");
cinco = new Button("5");
seis = new Button("6");
siete = new Button("7");
ocho = new Button("8");
nueve = new Button("9");
cero = new Button("0");
mas = new Button("+");
menos = new Button("-");
multi = new Button("*");
div = new Button("/");
pun = new Button(".");
igual = new Button("=");
String entrada = new String(); /*Tu campo o variable local que se debe instanciar solo una ves*/
double acarreo;
String mostrar;

add(pantalla);pantalla.reshape(42,17,115,25);
add(uno);uno.reshape(40,100,25,25);
add(dos);dos.reshape(70,100,25,25);
add(tres);tres.reshape(100,100,25,25);
add(cuatro);cuatro.reshape(40,70,25,25);
add(cinco);cinco.reshape(70,70,25,25);
add(seis);seis.reshape(100,70,25,25);
add(siete);siete.reshape(40,40,25,25);
add(ocho);ocho.reshape(70,40,25,25);
add(nueve);nueve.reshape(100,40,25,25);
add(cero);cero.reshape(40,130,25,25);
add(mas);mas.reshape(130,40,25,25);
add(menos);menos.reshape(130,70,25,25);
add(multi);multi.reshape(130,100,25,25);
add(div);div.reshape(130,130,25,25);
add(pun);pun.reshape(70,130,25,25);
add(igual);igual.reshape(100,130,25,25);

}
public boolean action(Event event, Object arg)/// esto es lo que mira los botones
{
if(event.target instanceof Button)
{
if(arg.equals("1"))
{
entrada = (entrada + "1");
pantalla.setText(entrada);
return true;
}

}
return true;
}
}

Solo esa correcion, si es lo que imagino que quieres hacer ya que cada ves llama al metodo action el applet crea una nueva instacia, y una varaible local que reemplaza a la global y no utilizas la variable global si no la local que siempre va a ser "1".

Te aconsejo que leas los conceptos de programacion orientada a objetos ya que Java es un lenguaje orientado a objetos puro, eso te va a ayudar mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda cadena de Caracteres

Publicado por Sico (3 intervenciones) el 02/08/2006 22:39:02
guarda el numero que pinchas primero y al pinchar el segundo imprimes los dos

PD: toy aprendiendo = que tu no se mucho ojala te ayude, es lo primero que se me ocurrio debe haber algo mejor XD.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar