Competencia: Aplica las ciencias de la ingenieria
Curso:Programacion I
Actividad: Serie Fibonacci Invertida
Descripcion
Se nos pide desarrollar un programa con interfaz grafica, con el objetivo de q el usuario ingrese un numero y el programa le señale si es o no capicua. Un numero capicua es un numero que se lee de la misma manEra de derecha a izquierda como de izquierda a derecha
Ejemplo
Entrada Salida
12321 <proceso> Si es capicua.
222 <proceso> Ingrese un numero de 5 digitos.
12345 <proceso> No es capicua.
Analisis de solucion.
Nos centraremos en solo la parte delcodig por el cual se debe descomponer para que de esta manera compara los numeros uno por una hasta el del centro con los del final.
El ussuario debe ingresar un numero mayor a 9999 y menor a 100000 es decior un numero de 5 digitos,
if (a>9999 && a<100000)
{
b = a/10000;
c = a%10;
d = a/10;
e = d%10;
f = d%1000;
g = f/100;
if (b==c && e==g )
En la primera linea de codigo se ve la validacion del numero para poder acer el proceso matematico para ir obteniendo cada digito del numero mediante divisiones y modulos(obtencion del resto de la division). para luego llegar a la comparacion de los dos primeros nuero con los dos ultimos, en caso de que la respuesta de la condicion sea verdadera el nuemero ingresado por el ususario es capicua.
Codigo Funte
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class RiquelmePatricio implements ActionListener
{
private static final int ANCHO = 300;
private static final int ALTO = 200;
private static final int ANCHO_TEXTO = 20;
private static final FlowLayout ESTILO_LAYOUT = new FlowLayout();
private
static final String LEYENDA ="Ingrese un numero de 5 digitos y veremos si
es o no capicua";
private JFrame ventana= new JFrame
("Numero Capicua");
private JTextArea leyenda = new JTextArea
(LEYENDA,1,ANCHO_TEXTO);
private JLabel nEtiq= new
JLabel("ingese el numero");
private JTextField nTexto = new JTextField (ANCHO_TEXTO);
private
JLabel resultadoEtiq = new JLabel("Resultado");
private JTextField resultadoTexto= new JTextField(ANCHO_TEXTO);
private JButton botonCalcular = new JButton ("Calcular");
public RiquelmePatricio()
{
ventana.setSize(ANCHO, ALTO);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
leyenda.setEditable(false);
leyenda.setLineWrap(true);
leyenda.setWrapStyleWord(true);
leyenda.setBackground(ventana.getBackground());
resultadoTexto.setEditable(false);
resultadoTexto.setBackground(Color.ORANGE);
botonCalcular.addActionListener(this);
ventana.setLayout(ESTILO_LAYOUT);
ventana.add(leyenda);
ventana.add(nEtiq);
ventana.add(nTexto);
ventana.add(resultadoEtiq);
ventana.add(resultadoTexto);
ventana.add(botonCalcular);
ventana.setVisible(true);
}
public void actionPerformed(ActionEvent z)
{
int b,c,d,e,f,g;
int a = Integer.parseInt(nTexto.getText());
if (a>9999 && a<100000)
{
b = a/10000;
c = a%10;
d = a/10;
e = d%10;
f = d%1000;
g = f/100;
if (b==c && e==g )
{
String output = String.valueOf("Si
es capicua");// mensaje a mostrar en string
resultadoTexto.setText(output);} //
espacio donde mostrar el mensaje
else {String output =
String.valueOf("No lo es");// mensaje a mostrar en string
resultadoTexto.setText(output);}
// espacio donde mostrar el mensaje
}
else
{
String output =
String.valueOf("error de ingreso");// mensaje a mostrar en string
resultadoTexto.setText(output);} //
espacio donde mostrar el mensaje
}
public static void main(){ //ejecucion del
programa
RiquelmePatricio gui = new
RiquelmePatricio();
}
}
Conclusion
La interfaz grafica hace que el programa sea mas interactivo y llame mas la antencio, por esto es fundamental el diseño, pero no deja de lado la funcion que cumplira el programa, este es un programa basico en java, pero con interfaz grafica se complica mas por lo que se necesita mas conocimietno e ingenio.
La interfaz grafica hace que el programa sea mas interactivo y llame mas la antencio, por esto es fundamental el diseño, pero no deja de lado la funcion que cumplira el programa, este es un programa basico en java, pero con interfaz grafica se complica mas por lo que se necesita mas conocimietno e ingenio.
No hay comentarios:
Publicar un comentario