domingo, 13 de noviembre de 2011

Numero Capicua.

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.

No hay comentarios:

Publicar un comentario