Está en la página 1de 28

2.

Programas Java Swing


Todos los ejemplos que encontrar en este libro se realizan utilizando el paquete Swing
que es parte de la JFC (Java Foundation Classes) en la plataforma Java !a JFC provee
facilidades para a"udar al usuario a construir #$%s (%nterfaces grficas de usuarios)
Swing abarca componentes como botones& tablas& marcos& etc !os componentes
Swing se identifican porque pertenecen al paquete javax.swing
Swing e'iste desde la J() ** (como un agregado) +ntes de la e'istencia de Swing& las
interfaces grficas con el usuario se realizaban a trav,s de awt (+bstract -indow
Tool.it)& de quien Swing /ereda todo el manejo de eventos $sualmente& para todo
componente awt e'iste un componente Swing que lo reemplaza& por ejemplo& la clase
Button de awt es reemplazada por la clase JButton de Swing (el nombre de todas las
componentes Swing comienza con 0J0)
!as componentes de Swing utilizan la infraestructura de awt& inclu"endo el modelo de
eventos awt& el cual rige c1mo un componente que reacciona a eventos de teclado&
mouse& etc 2s por esto& que la ma"or3a de los programas Swing necesitan importar dos
paquetes awt4 java.awt.* " java.awt.event.*.
Tabla 2.1. Paquetes de java swing
Paquete Descripcin
javax.swing Es el paquete tal vez ms importante de swing, contiene las clases
necesarias para crear ventanas y colocar objetos sencillos en una
interfaz grfica.
javax.swing.border Contiene clases que permiten especificar bordes personalizados a
los diferentes objetos de la interfaz grfica.
javax.swing.colorchoos
er
Contiene clases que permiten definir, especificar y seleccionar
colores para diversos objetos.
javax.swing.event Este paquete contiene las clases necesarias para crear y manipular
eventos sobre los diversos objetos de la interfaz de swing. Es bueno
tener en cuenta que los oidores! se asocian a objetos de la interfaz,
pero son implementados gracias a las clases que provee este
paquete.
javax.swing.filechooser El "ileChooser! es un componente de swing que permite navegar
por los archivos de la mquina, tal como lo hace el explorador de
#indows.
javax.swing.plaf.$ Este paquete permite dar una apariencia uniforme a una aplicaci%n.
Contiene apariencias estndares de las aplicaciones basadas en
#indows y otros sistemas operativos
javax.swing.table El componente &'able es uno de los componentes que a(adi% swing
para lograr crear interfaces que muestren datos en una cuadr)cula y
muchas otras funcionalidades.
javax.swing.text *aquete que contiene clases para dar formato a textos y en general
para realizar una manipulaci%n grfica de textos y mostrarla al
usuario con algunos efectos.
javax.swing.text.html.$ Clases que permiten manipular documentos en formato +',-.
javax.swing.text.rtf El .'"! es un visualizador de texto que se puede utilizar haciendo
referencia a este paquete.
javax.swing.tree El componente &'ree es uno de los componentes ms sofisticados y
completos que incorpora swing. /icho componente permite entre
otras cosas realizar b0squedas en rboles, mostrar rboles con la
apariencia de un explorador de archivos y muchas otras cosas.
javax.swing.undo *ermite realizar aplicaciones que incorporen la funcionalidad de
rehacer y deshacer.
javax.accessibility Clases que permiten dar funcionalidad a las aplicaciones para que
sean utilizadas por personas con discapacidades.
2.1. Creai!n de un "rimer "rograma en Java
Java es un lenguaje de programaci1n con el que pueden crearse aplicaciones aut1nomas
" applets (basados en un e'plorador) !os programas aut1nomos son parecidos a
aquellos que pueden realizarse con C55 !os +pplets son independientes del
dispositivo& es decir un mismo +pplet puede ejecutarse desde un 6C con -indows7'&
8ac o !inu'& "a que el compilador de Java genera c1digo de maquina virtual el cual se
puede ejecutar desde cualquier plataforma !os programas aut1nomos o applets se
pueden digitar en un editor de te'to como4 -ordpad& 2dit& 9loc. de :otas& o editores de
programas de java (realj& freejava& jcreator& netbeans& etc) 2stos deben tener la
e'tensi1n 0java0
Todos los programas se digitaron " se compilaron utilizando el programa realj# el cual
es un editor para crear programas en java (;er ane'o +& pgina <=>)
2n el anlisis de cada programa se /acen los respectivos comentarios del c1digo
omitiendo en ocasiones aquellos que "a /an sido comentados en programas anteriores
2.2. $jem"lo "r%tio
?ealizar un programa que imprima en pantalla el siguiente mensaje4 0@olaA 8i
primer programa con JavaB (ic/o programa debe realizarse como un programa
+ut1nomo " un +pplet
a& Programa 'ut!nomo
1 import javax.swing.&"rame2
3 import java.awt.4raphics2
5 class 6ienvenido7uto extends &"rame
8
9 public 6ienvenido7uto:;
8
< super:=programaci%n en &ava=;2
> set?ize:5@@,1@@;2
A setBisible:true;2
C
D public void paint:4raphics g;
8
E g.draw?tring:=+olaF... ,i primer programa con &ava G 7utonomo!,9@,9@;2
C
1@ public static void main:?tring argsHI;
8
11 6ienvenido7uto miprograma J new 6ienvenido7uto:;2
13 miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
'n%lisis "rograma
()nea 14 %ndica que el programa utiliza la clase J*rame del paquete javax.swing para
mostrar un marco
()nea 24 !a aplicaci1n utiliza la clase +ra",is del paquete java.awt& la cual permite
dibujar grficos& como te'to& l3neas& etc
()nea -4 Se define el nombre de la clase& en este caso C9ienvenido+utoB Tambi,n
contiene la palabra clave extends que indica que la clase Bienvenido'uto /ereda los
atributos (datos) " comportamientos (m,todos) e'istentes de la clase J*rame.
()nea .4 Se crea un constructor el cual es un m,todo que tiene el mismo nombre de la
claseD esta se inicializa automticamente cuando se crea un objeto de la clase
()nea /4 !a palabra reservada su"er permite acceder a los datos " m,todos de la clase
que se est /eredando 2l uso de esta es opcional& pero en caso de utilizarse debe ser
obligatoriamente la primera instrucci1n del constructor 6ara el ejemplo se utilizo su"er
para colocarle un titulo al marco
()nea 04 el m,todo setSi1e2int# int& permite definir el tamaEo de un marco 2l primer
parmetro es el anc/o " el segundo es el alto
()nea 34 el m,todo set4isible2&# permite mostrar el marco Si el parmetro es true#
permitir visualizar el marco& si por el contrario es 5alse se esconder el marco
()nea 64 se crea un m,todo llamado "aint (pintar)& el cual se ejecuta automticamente&
" tiene como parmetro un objeto de tipo +ra",is& en este caso g& que le sirve al
m,todo para dibujar grficos Tiene dos palabras clave4 "ubli que permite que el
m,todo sea llamado desde la clase " void que indica que el m,todo no retorna datos
cuando termine su tarea
()nea 74 el m,todo drawString de la clase +ra",is que utiliza el parmetro g&
permite dibujar una cadena de caracteres en el marco (ic/o m,todo recibe tres
parmetros4 el primero es la cadena de caracteres que va a dibujar& el segundo es la
coordenada x " el tercer es la coordenada 8.
()nea 194 Se declara el m,todo principal main (todo programa aut1nomo debe contener
dic/o m,todo) !a declaraci1n debe ser siempre la misma& es decir& siempre que se cree
un programa aut1nomo debe tener como m3nimo los siguientes parmetros4 "ubli& es el
modificador de acceso 2l parmetro stati indica que la funci1n es esttica& por lo cual
no puede ser generada ninguna instancia (uso de new) de un elemento static puesto que
solo e'iste una instancia !a palabra clave void se inclu"e para definir que la funci1n no
devuelve ningFn valorD main es el nombre de la funci1n " String :; args es un arreglo
de tipo String llamado args.
()nea 114 Se crea un objeto mi"rograma al cual se le asigna memoria de tipo
Bienvenido'uto 2& por intermedio del operador new.
()nea 124 Se utiliza el m,todo set<e5aultClose="eration2& para cerrar la aplicaci1n
Com"ilai!n 8 ejeui!n del "rograma aut!nomo
2s necesario guardar el arc/ivo con el nombre definido en la clase& en este caso
Bienvenido'uto " con e'tensi1n 0java0 (se debe tener en cuenta como est escrito el
nombre de la clase porque para el compilador de Java 06rimero0 es diferente de
0primero0) !os siguientes pasos se pueden omitir si trabaja con cualquier programa que
permita compilar " ejecutar aplicaciones de Java (2j ?ealJ)4
6ara compilarlo& desde el prompt de la interfaz de comandos " ubicado en la
carpeta donde se guardo el arc/ivo fuente (java)& se debe digitar4
javac <nombre del programa con extensin>< <enter>
javac BienvenidoAuto.java <enter>
Si el programa no genera ningFn error de compilaci1n este creara un arc/ivo del
mismo nombre pero con e'tensi1n class
:6ienvenido7uto.class;
6ara ejecutar el programa se debe digitar4
java Pnombre del programaQ PenterQ
java BienvenidoAuto <enter>
+l ejecutarse se visualizara la siguiente pantalla4
*igura 2.1. $jeui!n "rograma aut!nomo >Bienvenido'uto?
@otaD tambi,n puede compilarlo " ejecutarlo con realj (ver ane'o +& pgina <=>)
b& Sub"rograma '""let
1 import javax.swing.&7pplet2
3 import java.awt.4raphics2
5 public class 6ienvenido7pp extends &7pplet
8
9 public void paint :4raphics g;
8
< super.paint:g;2
> g.draw?tring:=+olaF... ,i primer programa con &ava G 7pplet =,3<,3<;2
C
C
'n%lisis "rograma
()nea 14 %ndica que el programa utiliza la clase J'""let del paquete javax.swing para
mostrar una ventana
()nea 24 !a aplicaci1n utiliza la clase +ra",is del paquete java.awt& la cual permite
dibujar grficos& como te'to& l3neas& etc
()nea -4 Se define el nombre de la clase C9ienvenido+ppB Tambi,n contiene la palabra
clave extends que indica que la clase Bienvenido'"" /ereda los atributos (datos) "
comportamientos (m,todos) e'istentes de la clase J'""let.
()nea .4 se crea un m,todo llamado "aint (pintar)& el cual se ejecuta automticamente&
" que tiene como parmetro un objeto de tipo +ra",is& en este caso g& que le sirve al
m,todo para dibujar grficos Tiene dos palabras clave4 "ubli que permite que el
m,todo sea llamado desde la clase " void que indica que el m,todo no retorna datos
cuando termine su tarea
()nea /4 Se /ace un llamado al m,todo "aint de la superclase J'""let
()nea 04 el m,todo drawString de la clase +ra",is que utiliza el parmetros g&
permite dibujar una cadena de caracteres en el marco (ic/o m,todo recibe tres
parmetros4 el primero es la cadena de caracteres que va a dibujar& el segundo es la
coordenada x " el tercer es la coordenada 8.
Com"ilai!n 8 ejeui!n del sub"rograma '""let
6ara compilarlo& desde el prompt de la interfaz de comandos " ubicado en la
carpeta donde guardo el arc/ivo fuente (java)& se debe digitar4
javac Pnombre del programa con extensi%nP PenterQ
javac 6ienvenido7pp.java PenterQ
Si el programa no genera ningFn error de compilaci1n este creara un arc/ivo del
mismo nombre pero con e'tensi1n class
:6ienvenido7pp.class;
!uego se debe crear un arc/ivo del mismo nombre pero con e'tensi1n /tml
(9ienvenido+pp/tml) desde cualquier editor de te'to& con las siguientes
instrucciones4
PhtmlQ
P7pplet codeJ=Pnombre del programa con extension .class=Q widthJ5@@
heightJ3@@QPRappletQ
PhtmlQ
/onde height y width indican el tama(o de la ventana en pixeles.
En el ejemplo ser)aS
PhtmlQ
P7pplet codeJ= 6ienvenido7pp.class= widthJ5@@ heightJ3@@QPRappletQ
PhtmlQ
luego de creado el programa /tml& para ejecutarlo& se debe digitar4
appletviewer Pnombre del programa con extensi%n htmlQ PenterQ
appletviewer 6ienvenido7pp.html PenterQ
Gtra forma de ejecutar el +pplet& es abrir el arc/ivo C/tmlB desde un navegador
de %nternet
+l ejecutarse& se visualizara la siguiente pantalla4
*igura 2.2. $jeui!n sub"rograma '""let ?Bienvenido'""?
@otaD tambi,n puede compilarlo " ejecutarlo con realj (ver ane'o +& pgina <=>)
-. $struturas de Control
-.1. $strutura de alternativa sim"le i5
!a estructura de alternativa simple i5 ejecuta una determinada acci1n cuando se cumple
una condici1n !a selecci1n i5 evalFa la condici1n "4
Si la condici1n es verdadera& ejecuta la acci1n i5 (o acciones caso de ser S* una
acci1n compuesta " constar de varias acciones) " continua con el resto del
programa
Si la condici1n es falsa& no entra al i5& pero continFa con el resto del programa
if :condici%n verdadera;
8 ?1 C
.esto del programa
-.1.1. $jem"lo "r%tio i5
crear un programa aut1nomo " un applet que capture una nota de un estudiante&
si la nota es ma"or o igual a tres& deber imprimir en la ventana C+prob1 la
materia FelicitacionesB
a& Programa '""let
1 import javax.swing.$2
3 import java.awt.$2
5 import java.awt.event.$2
9 public class Mf?imple extends &7pplet implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A float nota2
D public void init:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite nota y pulse EnterS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
C
1> public void paint:4raphics g;
8
1A super.paint:g;2
1D if:notaQJ5.@;
1E g.draw?tring:=7prob% la materia... "elicitaciones=,5@,>@;2
C
3@ public void action*erformed:7ctionEvent e;
8
31 if:e.get?ource:;JJentrada;8
33 notaJ"loat.parse"loat:entrada.get'ext:;;2
C
35 repaint:;2
C
C
'n%lisis "rograma
()nea 14 %ndica que el programa puede utilizar las clases que pertenecen al paquete
javax.swing.
()nea 24 !a aplicaci1n puede utilizar las clases del paquete java.awt.
()nea -A el paquete awt.event proporciona las clases e interfaces para diversos eventos
que se pueden utilizando (isteners (oidores)
()nea .A Se define la clase pFblica B5Sim"le Tambi,n contiene la palabra clave
extends que indica que la clase B5Sim"le /ereda los atributos (datos) "
comportamientos (m,todos) e'istentes en la clase J'""let +dems se implementa la
interfaz 'tion(istener utilizando la palabra clave im"lements !a interfaz
'tion(istener detecta las acciones que realiza el usuario " las convierte en acciones
del programa& por ejemplo4 cerrar la ventana al pulsar un bot1n& al pulsar 2nter en una
caja de te'to& etc 'tion(istener es una interface del grupo de los (isteners (oidores)
'tion(istener tiene un s1lo m,todo4 void ationPer5ormed2'tion$vent e& que se
usa para detectar " manejar eventos de acci1n ('tion$vent)& los que tienen lugar
cuando se produce una acci1n sobre un elemento del programa
()nea /4 !a clase J(abel (etiqueta) permite crear un objeto donde se puede mostrar un
te'to no editable
()nea 04 !a clase JText*ield (caja de te'to) permite crear un objeto donde un usuario
puede introducir datos mediante el teclado Tambi,n puede mostrar informaci1n
()nea 34 Se crea una variable llamada nota de tipo 5loat
()nea 64 2l m,todo init2&# el cual se ejecuta automticamente se utiliza para inicializar
los diferentes objetos que sern utilizados por la aplicaci1n
()nea 74 Se crea un objeto llamado ontenedor de tipo Container que permite obtener
un panel de contenido al que se le pueden adicionar componentes de interfaz grfica de
usuario& en este caso los componentes J(abel " JText*ield + dic/o objeto se le asigna
el m,todo getContentPane2&# el cual devuelve la referencia del panel de contenido
()nea 194 Se utiliza el m,todo set(a8out de la clase Container para especificar el
administrador de diseEo que se va a utilizar en la interfaz de usuario Se le pasa como
argumento un objeto de tipo *low(a8out que permite colocar los diferentes objetos de
la interfaz de usuario de izquierda a derec/a en el orden que se coloquen utilizando el
m,todo add.
()nea 11 8 124 Se asigna espacio de memoria utilizando la palabra clave new a los
objetos J(abel " JText*ield. +l objeto J(abel se le env3a como parmetro una cadena
de caracteres para que sea mostrada una vez se ejecute el applet +l objeto JText*ield
se le env3a como parmetro un valor de *H caracteres de anc/o
()nea 1- 8 1.4 Se adiciona al contenedor por medio del m,todo add los objetos J(abel
" JText*ield.
()nea 1/4 +l objeto entrada se le adiciona un oidor para escuc/ar los eventos que
realice dic/o objeto utilizando el m,todo add'tion(istener Se le env3a como
parmetro la palabra clave t,is para referirse a s3 mismo
()nea 164 Se utiliza la instrucci1n de control i5 para preguntar si el valor de la variable
nota es ma"or o igual a IH Si la respuesta es verdadera el programa ingresara al i5 "
realizara las operaciones contenidas en la condici1n
()nea 174 el m,todo drawString de la clase +ra",is que utiliza el parmetros g&
permite dibujar una cadena de caracteres en la ventana (ic/o m,todo recibe tres
parmetros4 el primero es la cadena de caracteres que va a dibujar& el segundo es la
coordenada x " el tercero es la coordenada 8.
()nea 294 el m,todo ationPer5ormed 2'tion$vent e& se invoca cuando se genera un
evento de acci1n (+ction2vent) en este caso en el objeto entrada& " realizara las tareas
programadas para este evento
()nea 214 2l m,todo getSoure2& de tipo 'tion$vent# pregunta si el objeto que /a
realizado un evento es entrada. Si la respuesta es verdadera se realizaran las tareas que
se programaron en dic/a condici1n
()nea 224 el m,todo "arse*loat de la clase *loat& permite convertir un String a
nFmero de tipo 5loat# el cual es asignado a la variable nota Se le env3a como parmetro
el objeto entrada obteniendo por medio del m,todo getText2& el valor que fue digitado
por teclado
()nea 2-4 el m,todo re"aint2& permite realizar un nuevo llamado al m,todo "aint 2&&
para actualizar todas los objetos " variables all3 contenidas
Com"ilai!n 8 ejeui!n del sub"rograma '""let
6ara compilarlo& desde el prompt de la interfaz de comandos " ubicado en la
carpeta donde guardo el arc/ivo fuente (java)& se debe digitar4
javac Pnombre del programa con extensi%nP PenterQ
javac Mf?imple.java PenterQ
Si el programa no genera ningFn error de compilaci1n este creara un arc/ivo del
mismo nombre con e'tensi1n class
:Mf?imple.class;
!uego se debe crear un arc/ivo del mismo nombre pero con e'tensi1n /tml
(6rimero+pp/tml) desde cualquier editor de te'to& con las siguientes
instrucciones4
PhtmlQ
P7pplet codeJ=Pnombre del programa con extensi%n .class=Q widthJ5@@
heightJ3@@QPRappletQ
PhtmlQ
/onde height y width indican el tama(o de la ventana en pixeles.
En el ejemplo ser)aS
PhtmlQ
P7pplet codeJ= Mf?imple.class= widthJ5@@ heightJ3@@QPRappletQ
PhtmlQ
luego de creado el programa /tml& para ejecutarlo& se debe digitar4
appletviewer Pnombre del programa con extensi%n htmlQ PenterQ
appletviewer Mf?imple.html PenterQ
Gtra forma de ejecutar el +pplet& es abrir el arc/ivo C/tmlB desde un navegador
de %nternet
+l ejecutarse el programa " digitar IJ en la caja de te'to " pulsar enter& se visualizara la
siguiente pantalla4
*igura -.1. $jeui!n '""let B5Sim"le
b& Programa 'ut!nomo
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Mf?imple7uto extends &"rame implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A float nota2
D public Mf?imple7uto:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite nota y pulse EnterS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
1> set?ize:5@@,1@@;2
1A setBisible:true;2
C
1D public void paint:4raphics g;
8
1E if:notaQJ5.@;
3@ g.draw?tring:=7prob% la materia... "elicitaciones=,5@,>@;2
C
31 public void action*erformed:7ctionEvent e;
8
33 if:e.get?ource:;JJentrada;8
35 notaJ"loat.parse"loat:entrada.get'ext:;;2
C
39 repaint:;2
C
3< public static void main:?tring argsHI;
8
3> Mf?imple7uto miprograma J new Mf?imple7uto:;2
3A miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
'n%lisis "rograma
(el anterior c1digo solo se e'plicaran las l3neas que fueron modificadas para crear el
programa aut1nomo& las cuales estn sombreadas !as dems l3neas fueron e'plicadas
en el ejemplo del +pplet
()nea .A Se define una clase pFblica con el nombre B5Sim"le'uto Tambi,n contiene la
palabra clave extends que indica que la clase B5Sim"le'uto /ereda los atributos (datos)
" comportamientos (m,todos) e'istentes en la clase J*rame +dems se implemento la
interfaz 'tion(istener utilizando la palabra clave im"lements
()nea 64 Se crea un constructor el cual es un m,todo que tiene el mismo nombre de la
claseD este se inicializa automticamente cuando se crea un objeto de la clase
()nea 104 el m,todo setSi1e 2int# int& permite definir el tamaEo de un marco 2l primer
parmetro es el anc/o " el segundo es el alto
()nea 134 el m,todo set4isible 2&# permite mostrar el marco Si el parmetro es true#
permitir visualizar el marco& si por el contrario es 5alse esconder el marco
()nea 2/4 Se declara el m,todo principal main (todo programa aut1nomo debe contener
dic/o m,todo) !a declaraci1n debe ser siempre la misma& es decir& siempre que se cree
un programa aut1nomo debe tener como m3nimo los siguientes parmetros4 "ubli& es el
modificador de acceso 2l parmetro stati indica que la funci1n es esttica& por lo cual
no puede ser generada ninguna instancia (uso de new) de un elemento stati. !a palabra
clave void se inclu"e para definir que la funci1n no devuelve ningFn valorD main es el
nombre de la funci1n " String :; args es un arreglo de tipo String llamado args
()nea 204 Se crea un objeto mi"rograma al cual se le asigna memoria de tipo
B5Sim"le'uto 2&.
()nea 234 Se utiliza el m,todo set<e5aultClose="eration 2& para cerrar la aplicaci1n
Com"ilai!n 8 ejeui!n del "rograma aut!nomo
6ara compilarlo& desde el prompt de la interfaz de comandos " ubicado en la
carpeta donde guardo el arc/ivo fuente (java)& se debe digitar4
javac Pnombre del programa con extensi%nQP PenterQ
javac IfSimpleAuto.java <enter>
Si el programa no genera ningFn error de compilaci1n este creara un arc/ivo del
mismo nombre pero con e'tensi1n class
(IfSimpleAuto.class)
6ara ejecutar el programa se debe digitar4
java Pnombre del programaQ PenterQ
java IfSimpleAuto <enter>
+l ejecutarse " digitar I< en la caja de te'to " al pulsar enter& se visualizara la
siguiente pantalla4
*igura -.2. $jeui!n "rograma aut!nomo >B5Sim"le'uto?
-.2. $strutura de alternativa om"uesta i5 C else
2sta estructura permite elegir entre dos opciones o alternativas posibles& es decir& que
realiza una acci1n S1, si la condici1n es verdadera " otra acci1n S2, si la condici1n es
falsa
if :condici%n verdadera ;
8 ?1C
else
8 ?3C
.esto del programa
-.2.1. $jem"lo "r%tio i5Celse
Crear un programa +ut1nomo " un +pplet que capture una nota de un
estudiante Si la nota es ma"or o igual a IH deber mostrar el mensaje B+prob1
la materiaFelicitaciones0& de lo contrario imprimir el mensaje 0!o sientoK
?eprob1 la materia0
a& Programa '""let
1 import javax.swing.$2
3 import java.awt.$2
5 import java.awt.event.$2
9 public class MfCompuesto7pp extends &7pplet implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A float nota2
D public void init:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite nota y pulse EnterS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
C
1> public void paint:4raphics g;
8
1A super.paint:g;2
1D if:notaQJ5.@;
1E g.draw?tring:=7prob% la materia... "elicitaciones=,5@,>@;2
3@ else
31 g.draw?tring:=-o sientoT.eprob% la materia =,5@,>@;2
C
33 public void action*erformed:7ctionEvent e;
8
35 if:e.get?ource:;JJentrada;8
39 notaJ"loat.parse"loat:entrada.get'ext:;;2
C
3< repaint:;2
C
C
+l ejecutarse el programa +pplet " digitarse el valor de < en la caja de te'to& se
visualizara la siguiente figura4
*igura -.-. $jeui!n sub"rograma B5Com"uesto'""
b& Programa 'ut!nomo
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
5 public class MfCompuesto7uto extends &"rame implements 7ction-istener
9 8
< &-abel etiqueta2
> &'ext"ield entrada2
A float nota2
D public MfCompuesto7uto:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite nota y pulse EnterS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
1> set?ize:5@@,1@@;2
1A setBisible:true;2
C
1D public void paint:4raphics g;
8
1E if:notaQJ5.@;
3@ g.draw?tring:=7prob% la materia... "elicitaciones=,5@,>@;2
31 else
33 g.draw?tring:=-o sientoT.eprob% la materia =,5@,>@;2
C
35 public void action*erformed:7ctionEvent e;
8
39 if:e.get?ource:;JJentrada;8
3< notaJ"loat.parse"loat:entrada.get'ext:;;2
C
3> repaint:;2
C
3A public static void main:?tring argsHI;
8
3D MfCompuesto7uto miprograma J new MfCompuesto7uto:;2
3E miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
'n%lisis de los "rogramas
Tanto en el programa aut1nomo como en el +pplet se inclu"eron solamente dos l3neas
e'actamente iguales 2n el aut1nomo se inclu"eron las l3neas <* " << " en el applet las
l3neas <H " <* 2n la primera l3nea se utiliza la palabra reservada else (sino) que
permitir tomar la decisi1n si la condici1n es falsa& donde se visualizara el te'to Clo
sientoDEe"rob! la materia?.
+l ejecutarse el programa aut1nomo " digitarse el valor de < en la caja de te'to& se
visualizara la siguiente figura4
*igura -... $jeui!n "rograma B5Com"uesto'uto
-.-. $strutura de alternativa mFlti"le swit,C ase
2n algunos casos son necesarias ms de dos alternativas de soluci1n a un problema
2sto se podr3a resolver por estructuras alternativas simples o compuestas anidadasD sin
embargo& este m,todo si el nFmero de alternativas es demasiado grande puede plantear
serios problemas de escritura del algoritmo " naturalmente de legibilidad
!a estructura de alternativa mFltiple swit, ase evalFa una e'presi1n que puede
tomar n valores distintos& *& <& I& =&& n SegFn el valor de la e'presi1n& se realizar una
de las n acciones
switch:variable;8
case valor1S
acciones12
breaU,
case valor3S
acciones32
breaU,
case valor5S
acciones52
breaU,
SSSSSSSSS
SSSSSSSSS
defaultS
otrasNacciones2
C
-.-.1. $jem"lo "r%tio swit,Case
Crear un programa aut1nomo " un applet que permita digitar un carcter n veces
e imprima la cantidad de vocales que se digitan
a& Sub"rograma '""let
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Case7pp extends &7pplet implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A int ctaaJ@,ctaeJ@,ctaiJ@,ctaoJ@,ctauJ@2
D public void init:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite una letraS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
C
1> public void paint :4raphics g;
8
1A super.paint:g;2
1D g.draw?tring:='otales para cada vocalS=,3<,9@;2
1E g.draw?tring:=7S=Vctaa,3<,<<;2
3@ g.draw?tring:=ES=Vctae,3<,A@;2
31 g.draw?tring:=MS=Vctai,3<,D<;2
33 g.draw?tring:=KS=Vctao,3<,1@@;2
35 g.draw?tring:=WS=Vctau,3<,11<;2
C
39 public void action*erformed:7ctionEvent e;
8
3< if:e.get?ource:;JJentrada;8
3> char vocalJ:entrada.get'ext:;;.char7t:@;2
3A entrada.set'ext:==;2
3D switch:vocal;8
3E case X7XScase XaXS
5@ VVctaa2
51 breaU2
53 case XEXScase XeXS
55 VVctae2
59 breaU2
5< case XMXScase XiXS
5> VVctai2
5A breaU2
5D case XKXScase XoXS
5E VVctao2
9@ breaU2
91 case XWXScase XuXS
93 VVctau2
95 breaU2
99 defaultS
9< show?tatus:=Bocal no existe. /igite Ouevamente.=;2
9> breaU2
C
9A repaint:;2
C
C
C
'n%lisis "rograma
()nea 3A Se crean " se inicializan las variables taa& tae& tai& tao& tau& con un valor
de cero (H)& que servirn para llevar el acumulado de cada una de las vocales que el
usuario ira digitando
()nea 16 C 2-4 Se imprime por pantalla la cantidad de cada vocal que el usuario /a
digitado
()nea 204 Se crea una variable llamada voal de tipo ,ar que permitir almacenar cada
una de las vocales que el usuario digitar Se utiliza el m,todo ,ar't2n& de la clase
String& el cual permite seleccionar un carcter en una posici1n n de una cadena de
caracteres 2n el ejemplo se utiliza ,ar't en la posici1n H& lo que permite e'traer de la
caja de te'to entrada el carcter en la posici1n cero
()nea 234 Se utiliza el m,todo setText2&# al cual se le env3a como parmetro dobles
comillas sin espacio para limpiar la caja de te'to entrada.
()nea 26 C .04 !a palabra reservada swit, va seguida de la variable voal 2l valor de
la variable se compara con cada uno de los ase para determinar que tipo de vocal digit1
el usuario 6or cada ase debe e'istir un breaG para permitir a la estructura swit, salir
cuando se encuentre el caso especifico Si no se encuentra el ase que cumpla con el
valor de la variable voal& se tomar la alternativa de5ault que en este caso mostrar el
mensaje C;ocal no e'iste (igite :uevamenteB 6ara esto se utiliza el m,todo
s,owStatus que permite visualizar el mensaje en la barra de estado del applet
+l compilar " ejecutar el +pplet se visualizara la siguiente figura4
*igura -./. $jeui!n "rograma Case'""
b& Programa 'ut!nomo

1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Case7uto extends &"rame implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A int ctaaJ@,ctaeJ@,ctaiJ@,ctaoJ@,ctauJ@2
D public Case7uto:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite una letraS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
1> set?ize:5@@,5@@;2
1A setBisible:true;2
C
1D public void paint :4raphics g;
8
1E g.draw?tring:='otales para cada vocalS=,3<,D@;2
3@ g.draw?tring:=7S=Vctaa,3<,E<;2
31 g.draw?tring:=ES=Vctae,3<,11@;2
33 g.draw?tring:=MS=Vctai,3<,13<;2
35 g.draw?tring:=KS=Vctao,3<,19@;2
39 g.draw?tring:=WS=Vctau,3<,1<<;2
C

3< public void action*erformed:7ctionEvent e;
8
3> if:e.get?ource:;JJentrada;8
3A char vocalJ:entrada.get'ext:;;.char7t:@;2
3D entrada.set'ext:==;2RRborra campo de texto
3E switch:vocal;8
5@ case X7XScase XaXS
51 VVctaa2
53 breaU2
55 case XEXScase XeXS
59 VVctae2
5< breaU2
5> case XMXScase XiXS
5A VVctai2
5D breaU2
5E case XKXScase XoXS
9@ VVctao2
91 breaU2
93 case XWXScase XuXS
95 VVctau2
99 breaU2
9< defaultS
9> &Kption*ane.show,essage/ialog: null, =Oo es una
vocal..=,=.esultado=, &Kption*ane.*-7MON,E??74E ;2
9A ?ystem.exit: @ ;2
9D breaU2
C
9E repaint:;2
C
C
<@ public static void main:?tringHI args;
8
<1 Case7uto miprogramaJ new Case7uto:;2
<3 miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
'n%lisis "rograma
()nea .04 6ara visualizar un cuadro de dialogo en un programa aut1nomo se utiliza el
m,todo s,owHessage<ialog2& de la clase J="tionPane 2n este caso al m,todo se le
env3an cuatro argumentos separados por comas (&)4 el primero es la palabra reservada
null& el segundo argumento que es el mensaje que se va a mostrar& el tercero en el titulo
del cuadro de dialogo " el Fltimo es el tipo de cuadro de dialogo
()nea .34 Se utiliza el m,todo exit2&# de la clase S8stem para terminar la aplicaci1n
Solo se ejecutara cuando el usuario digite una letra que no sea una vocal 2s una buena
prctica terminar las aplicaciones de este modo cuando se trabaja con interfaz grafica de
usuario
+l compilar " ejecutar el programa +ut1nomo se visualizara la siguiente figura4
*igura -.0. $jeui!n "rograma Case'uto

-... $strutura de re"etii!n 5or
!a estructura de repetici1n 5or ejecuta una acci1n mientras una condici1n sea verdadera
Su formato es4
for:inicializaci%n2 condici%n N verdadera2 incremento % decremento;
8
acci%n2
C
-...1. $jem"lo "r%tio 5or
Crear un programa aut1nomo " un applet que imprima los nFmeros pares entre <
" IH& as3 como su sumatoria
a& Sub"rograma '""let
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Ciclo"or extends &7pplet
8
< int sumaJ@,numero2
> public void init:;
8
A Container contenedorJgetContent*ane:;2
D contenedor.set-ayout:new "low-ayout:;;2
C
1@ public void paint :4raphics g;
11 8
13 int posyJ9@2
15 super.paint:g;2
19 g.draw?tring:=Mmpresion de los numeros pares entre 3 y 5@=,3<,3<;2
1< for :numeroJ32numeroPJ5@2numeroJnumeroV3;
8
1> g.draw?tring:Mnteger.to?tring:numero;,3<,posy;2
1A posyVJ1<2
1D sumaJsumaVnumero2
C
1E g.draw?tring:=-a suma de los n0meros esS =V suma, 3<,posy;2
C
C
'n%lisis Programa
()nea /A Se crean dos variables4 suma& la cual es inicializada en cero (H) " servir para
llevar el acumulado de los nFmeros pares& " la variable numero que permitir asignarle
el valor de lo capturado en la caja de te'to entrada
()nea 124 Se crea una variable "os8 la cual es inicializada en cuarenta (=H) " sirve para
mover la posici1n de impresi1n de cada uno de los nFmeros pares
()nea 1/ 16A Se crea el ciclo 5or& donde se inicializa la variable numero con un valor
de dos (<)& se evalFa que la variable numero sea menor o igual a treinta (IH) 8ientras
la condici1n sea verdadera se imprimir en pantalla el numero par& adems se ir
incrementando la variable numero de < en < 2n la impresi1n se utiliza el m,todo
toString de la clase Bnteger para convertir un String a int 2n la l3nea *L se va llevando
la sumatoria de cada uno de los nFmeros pares asignndosele a la variable suma
()nea 174 Se realiza la impresi1n de la sumatoria de los nFmeros pares entre < " IH
+l ejecutarse& se visualizara la siguiente pantalla4
*igura -.3. $jeui!n "rograma Cilo*or'""
b& Programa'ut!nomo
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Ciclo"or7uto extends &"rame
8
< int numero, sumaJ@2
> public Ciclo"or7uto:;
8
A super:=*rograma 7utonomo=;2
D Container contenedorJgetContent*ane:;2
E contenedor.set-ayout:new "low-ayout:;;2
1@ set?ize:9@@,9@@;2
11 setBisible:true;2
C
13 public void paint:4raphics g;
8
15 int posyJ<<2
19 g.draw?tring:=Mmpresion de los numeros pares entre 3 y 5@=,3<,9@;2
1< for :numeroJ32numeroPJ5@2numeroJnumeroV3;
8
1> g.draw?tring:Mnteger.to?tring:numero;,3<,posy;2
1A posyVJ1<2
1D sumaJsumaVnumero2
C
1E g.draw?tring:=-a suma de los n0meros esS =V suma, 3<,posy;2
C
3@ public static void main:?tring argsHI;
8
31 Ciclo"or7uto miprograma J new Ciclo"or7uto:;2
33 miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
'n%lisis Programa
()nea 3A Se env3a al constructor de la clase J*rame el titulo que se quiere mostrar en el
marco
+l ejecutarse& se visualizara la siguiente pantalla4
*igura @o. -.6. $jeui!n "rograma Cilo*or'uto
-./. $strutura de re"etii!n w,ile
!a estructura repetitiva w,ile permite repetir una acci1n mientras la condici1n sea
verdadera Cuando se ejecuta la instrucci1n w,ile# si la condici1n se evalFa como falsa
no se realiza ninguna acci1n " el programa prosigue en la siguiente instrucci1n despu,s
del ciclo Si la condici1n es verdadera& se ejecuta las acciones que estn en el ciclo
2ste proceso se repetir mientras la condici1n sea verdadera
while: condici%nNverdadera;
8
acci%n2
incremento % decremento2
C
-./.1. $jem"lo "r%tio w,ile
?ealizar un programa tanto aut1nomo como applet que permita capturar *H
nFmeros enteros e imprimir el ma"or " el menor de dic/os nFmeros
@ota4 !os nFmeros enteros pueden estar en el rango de ms infinito /asta menos
infinito
a& Sub"rograma '""let
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Ciclo#hile7pp extends &7pplet implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A int auxiliarJ@,numero,mayor,menor2
D public void init:;
8
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 etiquetaJnew &-abel:=/igite un numeroS=;2
13 entradaJnew &'ext"ield:1@;2
15 contenedor.add:etiqueta;2
19 contenedor.add:entrada;2
1< entrada.add7ction-istener:this;2
C
1> public void paint :4raphics g;
8
1A super.paint:g;2
1D if :auxiliarJJ1;
8
1E mayorJnumero2
3@ menorJnumero2
C
31 if:mayorPnumero;
33 mayorJnumero2
35 if:menorQnumero;
39 menorJnumero2
3< g.draw?tring:=El mayor esS=Vmayor,3<, D@;2
3< g.draw?tring:=El menor esS=Vmenor,3<, 1@@;2
C
3> public void action*erformed:7ctionEvent e;
8
3A while:auxiliarP1@;
8
3D if:e.get?ource:;JJentrada;
8
3E numeroJMnteger.parseMnt:entrada.get'ext:;;2
5@ entrada.set'ext:==;2
51 auxiliarVV2
53 repaint:;2
C
C
55 entrada.setEditable:false;2
C
C
'n%lisis "rograma
()nea 3A Se crean cuatro variables de tipo int4 la primera llamada auxiliar& la cual es
inicializada en cero (H) " servir para llevar la cuenta de los nFmeros que se /an
digitado& la segunda es numero " servir para guardar cada uno de los valores
capturados por teclado& la tercera es ma8or que servir para guardar el ma"or de los
nFmeros capturados " por Fltimo menor que servir para almacenar el menor valor
capturado por teclado
()nea 16 2/A Se tiene una primera condici1n i5 que pregunta si la variable auxiliar es
igual a * Si se cumple la condici1n se inicializan las variables ma8or " menor con el
valor que contenga en ese momento la variable numero 6or otro lado se tiene dos
condiciones i5 para ir evaluando el valor de ma8or " de menor contra el valor de la
variable nFmero. Si se cumple la condici1n verdadera en alguno de las dos condiciones
i5 se le asignara el valor de numero a la respectiva variable 6or Fltimo se /ace una
impresi1n de las variables ma8or " menor +l ejecutar el programa e ir digitando los
nFmeros se ir visualizando el ma"or " el menor valor capturado
()nea 23 --A Se crea un ciclo w,ile& donde la condici1n ser verdadera mientras que
la variable auxiliar sea menor de *H Se evalFa si el evento ocurrido se /a realizado en
la caja de te'to entrada# si es verdad& a la variable nFmero se le asigna el valor
capturado por teclado 6or otro lado se limpia la caja de te'to entrada " se incrementa
en uno el valor de la variable auxiliar +dems se llama al m,todo re"aint para que
actualice los valores de ma8or " menor 6or Fltimo se utiliza el m,todo set$ditable
con el parmetro 5alse para que no se puedan digitar mas nFmeros cuando se /a"a
terminado el ciclo w,ile
+l ejecutarse el applet " digitarse los nFmeros *<& *J& <=& =<& *<H& LJ& *&M>& NL& OO& se
visualizara la siguiente figura4
*igura -.7. $jeui!n "rograma CiloI,ile'""
b& Programa 'ut!nomo
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Ciclo#hile7uto extends &"rame implements 7ction-istener
8
< &-abel etiqueta2
> &'ext"ield entrada2
A int auxiliarJ@,numero,mayor,menor2
D public Ciclo#hile7uto:;
8
E super:=*rograma 7utonomo=;2
1@ Container contenedorJgetContent*ane:;2
11 contenedor.set-ayout:new "low-ayout:;;2
13 etiquetaJnew &-abel:=/igite un numeroS=;2
15 entradaJnew &'ext"ield:1@;2
19 contenedor.add:etiqueta;2
1< contenedor.add:entrada;2
1> entrada.add7ction-istener:this;2
1A set?ize:5@@,5@@;2
1D setBisible:true;2
C
1E public void paint :4raphics g;
8
3@ super.paint:g;2
31 if :auxiliarJJ1;
33 8
35 mayorJnumero2
39 menorJnumero2
C
3< if:mayorPnumero;
3> mayorJnumero2
3A if:menorQnumero;
3D menorJnumero2
3E g.draw?tring:=El mayor esS=Vmayor,3<, D@;2
5@ g.draw?tring:=El menor esS=Vmenor,3<, 1@@;2

C
51 public void action*erformed:7ctionEvent e;
8
53 while:auxiliarP1@;
55 8
59 if:e.get?ource:;JJentrada;
8
5< numeroJMnteger.parseMnt:entrada.get'ext:;;2
5> entrada.set'ext:==;2
5A auxiliarVV2
5D repaint:;2
C
C
5E entrada.setEditable:false;2
C
9@ public static void main:?tring argsHI;
8
91 Ciclo#hile7uto miprograma J new Ciclo#hile7uto:;2
93 miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
2l anterior programa aut1nomo realiza las mismas operaciones que realiza el applet
+l ejecutarse el programa aut1nomo " digitarse los nFmeros *<&*J&<=&=<&*<H&LJ&*&M
>&NL&OO& se visualizara la siguiente figura4
*igura -.19. $jeui!n "rograma CiloI,ile'uto
-.0. $strutura de re"etii!n do C w,ile
2n ocasiones es necesario que un ciclo de repetici1n se ejecute por lo menos una vez
antes de evaluar la condici1n !a estructura do C w,ile ejecuta una acci1n /asta que se
cumpla una condici1n determinada que se comprueba al final del ciclo !a estructura de
repetici1n do C w,ile se repite mientras el valor de la condici1n sea falso
do 8
acci%n2
incremento
%
decremento
Cwhile(condici%nNfalsa;2
-.0.1. $jem"lo "r%tio doCw,ile
Crear un programa aut1nomo " un applet que imprima los nFmeros pares entre *
" IH& as3 como su sumatoria
a& Sub"rograma '""let
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Ciclo/o#hile7pp extends &7pplet
8
< int sumaJ@,numero2
> public void init:;
8
A Container contenedorJgetContent*ane:;2
D contenedor.set-ayout:new "low-ayout:;;2
C
E public void paint :4raphics g;
1@ 8int posyJ9@2
11 int numeroJ32
13 super.paint:g;2
15 g.draw?tring:=Mmpresi%n de los n0meros pares entre 3 y 5@=,3<,3<;2
19 do
8
1< g.draw?tring:Mnteger.to?tring:numero;,3<,posy;2
1> posyVJ1<2
1A sumaJsumaVnumero2
1D numeroJnumeroV32
1E Cwhile:numeroPJ5@;2
3@ g.draw?tring:=-a suma de los n0meros esS =V suma, 3<,posy;2
C
C
'n%lisis "rograma
()nea 11A Se crean una variable llamada numero& la cual es inicializada con el valor de
dos (<) " servir para incrementar dic/a variable en dos unidades /asta que se cumpla la
condici1n del ciclo
()nea 1. 17 4 Se inicia la estructura doCw,ileD se /ace la impresi1n del valor de la
variable numero " se le asigna a la variable suma el valor que contiene dic/a variable
mas el nuevo valor de la variable numero& adems se incrementa la variable numero en
dos unidades 6or Fltimo se evalFa la condici1n del ciclo Si el valor de la variable
numero es menor o igual a treinta (IH) se volver al ciclo& sino se saldr del ciclo " se
imprimir la suma de los nFmeros pares entre * " IH
*igura -.11. $jeui!n "rograma
Cilo<oI,ile'""
b& Programa 'ut!nomo
1 import java.awt.$2
3 import java.awt.event.$2
5 import javax.swing.$2
9 public class Ciclo/o#hile7uto extends &"rame
8
< int numero, sumaJ@2
> public Ciclo/o#hile7uto:;
A 8
D super:=*rograma 7utonomo=;2
E Container contenedorJgetContent*ane:;2
1@ contenedor.set-ayout:new "low-ayout:;;2
11 set?ize:9@@,9@@;2
13 setBisible:true;2
C
15 public void paint:4raphics g;
8
19 int posyJ<<2
1< int numeroJ32
1> g.draw?tring:=Mmpresi%n de los numeros pares entre 3 y 5@=,3<,9@;2
1A do 8
1D g.draw?tring:Mnteger.to?tring:numero;,3<,posy;2
1E posyVJ1<2
3@ sumaJsumaVnumero2
31 numeroJnumeroV32
33 Cwhile:numeroPJ5@;2
35 g.draw?tring:=-a suma de los n0meros esS =V suma, 3<,posy;2
C
39 public static void main:?tring argsHI;
8
3< Ciclo/o#hile7uto miprograma J new Ciclo/o#hile7uto:;2
3> miprograma.set/efaultCloseKperation:&"rame.ELM'NKONC-K?E;2
C
C
2n el anterior programa aut1nomo& se realizan las mismas instrucciones que se
utilizaron en el subprograma applet
*igura -.12. $jeui!n "rograma Cilo<oI,ile'uto
-.3. $jeriios "ro"uestos
?ealizar los siguientes programas tanto en applet como en aut1nomo
* @acer un programa que capture un numero por tecleado e imprima si es par o
impar
< @acer un programa que capture tres nFmeros e imprima cual es el ma"or& el del
medio " el menor
I 2scribir un programa que capture un nFmero e imprima si es menor de *J& si es
ma"or de JH o s3 est entre *O " =>
= @acer un programa que capture dos nFmeros e imprima la suma& la resta& la
divisi1n& la multiplicaci1n " el residuo de la divisi1n
J @acer un programa que pida al usuario digitar en /ora militar la /ora& los
minutos& los segundos e imprima la /ora& los minutos " los segundos un segundo
despu,s
O 2scribir un programa que sume los nFmeros enteros de * a *HH& utilizando las
estructura de repetici1n for& w/ile& do w/ile
N 2scribir un programa que capture un nFmero e imprima si dic/o numero es
primo o no
L 2scribir un programa que permita leer una cadena de caracteres e imprimir
cuantas vocales e'isten de cada una
> 2scribir un programa que permita imprimir todos los nFmeros primos entre I "
>>> inclusive
*H 2scribir un programa para imprimir la suma de los nFmeros impares menores o
iguales que n donde n es un nFmero digitado por teclado

También podría gustarte