Autor: Patricio Aros Erices
Competencia: Gestión del conocimiento.
Analice y desarrolle un programa que permita intercalar los dígitos de dos números enteros de dos dígitos. Por ejemplo si se tiene 12 y 37 el número resultante debería ser: 1327.
![]() |
Screenshot de la UI del programa lanzando error |
Aquí hize uso de JLabel TextField entre los principales.De manera que logré hacer una interfaz así. En el saco de la Screenshot, lanza error ya que el ejercicio decia Número de 2 dígitos ingreso uno de 3 y sale "Out of range" o fuera de rango en español para indicar que los datos ingresados estan mal
Dejo el código fuente para analizarlo, ya que esta comentado:
Cabe destacar que la interfaz y el programa fueron realizados complementamente en Bluej, un programa que usamos el primer semestre para programar java.
mport java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.event.ActionEvent.*;
public class ArosPatricio implements ActionListener
{ JFrame ventana = new JFrame ("Intercalar números"); //se define el nombre que se le da a la ventana
JLabel etiq1 = new JLabel ("Ingrese un n° de dos dígitos");//se agrega etiqueta de texto para solicitar al usuario datos
JTextField text1 = new JTextField (10);//se agrega un nuevo campo de texto
JLabel etiq2 = new JLabel ("Ingrese un segundo n° de dos dígitos");//segundo texto para solicitar datos
JTextField text2 = new JTextField (10);//segundo campo de texto
JLabel etiq3 = new JLabel ("Númnero final intercalado");//etiqueta que indica donde saldra el numero final
JTextField resultado = new JTextField (10);//texto donde saldra en numero final
JButton boton = new JButton ("Intercalar");//Nuevo boton el que estará "escuchando" para realizar la operacion
FlowLayout estilo = new FlowLayout();// estilo de orden en la ventana
ArosPatricio ()
{ boton.addActionListener(this);// se deja escuchando al boton
ventana.setSize (225,220);//definiendo tamaño de ventana
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//por defecto al apretar cerrar la ventana se cierra
resultado.setEditable(false);//el recuadro de texto donde sale el resultado no se podra editar
resultado.setBackground(Color.GREEN);//se coloca de color verde el fondo del 3 cuadro de texto
ventana.setLayout(estilo);//estilo de ventana
ventana.add(etiq1);//se comienza a agregar las etiquetas y texto
ventana.add(text1);
ventana.add(etiq2);
ventana.add(text2);
ventana.add(etiq3);
ventana.add(resultado);
ventana.add(boton);
ventana.setVisible(true);//define que la ventana sera mostrada
}
public void actionPerformed(ActionEvent e)
{int n1, n2, i, u, y, t, nf;// definiedo variables
String respuesta1=text1.getText();//convirtiendo texto a int
n1 =(int)Double.parseDouble(respuesta1);
String respuesta2=text2.getText();
n2 =(int)Double.parseDouble(respuesta2);
if (n1>9 && n1<100 && n2>9 && n2<100)
{i = n1%10;
u = n1/10;
y = n2%10;
t = n2/10;
nf = ((u*1000) + (t*100) + (i*10) + (y));
String output = String.valueOf(nf);
resultado.setText(output);
}
else {
String output = String.valueOf("Out of Range");
resultado.setText(output);}
}
public static void main (){
ArosPatricio gui = new ArosPatricio();
}
}
Reflexión
En este laboratorio, como en algunos otros estubimos contra el tiempo, ya que se debian realizar en el periodo de laboratorio, por lo general se alcanzaba, pero en algunas ocaciones era algo ajetreado crear la interfaz, pero como ven, debido a este mismo corto tiempo, se desarrolla un poco más la habilidad de poder programar más rapido y con la menor cantidad de errores posibles, usando estas habilidades en programas a futuro, creo que fue una buena idea implementar esta metodologia(en el primer semestre).
0 comentarios:
Publicar un comentario