Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practicas Java
Practicas Java
/*@author UNE-TELESUP*/
import javax.swing.*;
public class mayormenor{
public static void main(String[] args){
String valor1,valor2;
valor1=JOptionPane.showInputDialog(null,"ingrese 1er Numero","",1);
int n=Integer.parseInt(valor1);
valor2=JOptionPane.showInputDialog(null,"ingrese 2do Numero","",1);
int n1=Integer.parseInt(valor2);
if (n >n1)
System.out.println("Es mayor...");
Else
System.out.println("Es menor...");
import
javax.swing.*;
public class
importes{
public static void
main(String[] args){
String cd,ar,cant,pu;
double importe;
cd=JOptionPane.showInputDialog(null,"ingrese codigo de cliente","",1);
ar=JOptionPane.showInputDialog(null,"ingrese articulo","",1);
cant=JOptionPane.showInputDialog(null,"ingrese cantidad","",1);
pu=JOptionPane.showInputDialog(null,"ingrese precio unitario","",1);
int v1=Integer.parseInt(cant);
int v2=Integer.parseInt(pu);
importe=v1*v2;
JOptionPane.showMessageDialog(null,"el importe es:"+importe);
}
}
import javax.swing.*
public class triangulo{
public static void main(String[] args){
String b,al;
double area;
b=JOptionPane.showInputDialog(null,"ingrese base","",1);
al=JOptionPane.showInputDialog(null,"ingrese altura","",1);
int v1=Integer.parseInt(b);
int v2=Integer.parseInt(al);
if((v1>0)&& (v2>0)){
area=(v1*v2)/2;
JOptionPane.showMessageDialog(null,"el area es:"+area);
}else{
JOptionPane.showMessageDialog(null,"error de datos");
}
}
}
import javax.swing.*;
public class notas{
public static void main(String[] args){
String nt,nc,ne;
double promedio=0.00;
nt=JOptionPane.showInputDialog(null,"ingrese nota de practicas","",1);
nc=JOptionPane.showInputDialog(null,"ingrese nota de cuaderno","",1);
ne=JOptionPane.showInputDialog(null,"ingrese nota de examen","",1);
int n=Integer.parseInt(nt);
int n1=Integer.parseInt(nc);
int n2=Integer.parseInt(ne);
promedio=(n+n1+n2)/3;
if(promedio>=11){
JOptionPane.showMessageDialog(null,"usted aprobo el curso");
}else{
JOptionPane.showMessageDialog(null,"usted desaprobo el curso");
}
JOptionPane.showMessageDialog(null,"el promedio obtenido es:"+promedio);
}}
import javax.swing.*;
public class sumacifras{
public static void main(String[] args){
//Definiendo variables
String c;long suma=0;
//Obteniendo # como texto
c=JOptionPane.showInputDialog(null,"ingrese numero de 3 cifras","",1);
//Convirtiendo el numero en entero
int n=Integer.parseInt(c);
//Descomponiendo el # en centenas,decenas y unidades
long cen=n/100;
long res=n%100;
long dec=res/10;
long uni=res%10;
//Calculando la suma de lasa cifras
suma=cen+dec+uni;
//Imprimiendo la suma de las cifras
JOptionPane.showMessageDialog(null,"la suma de sus cifras es:"+suma);
}
}
import javax.swing.*;
public class numeroprimo {
public static void main(String[] args){
String c;
c=JOptionPane.showInputDialog(null,"ingrese numero","",1);
int n=Integer.parseInt(c);
if(n%1==0 && n%n==0 && n%2!=0){
JOptionPane.showMessageDialog(null,"El # "+n+" es primo");
}else{
JOptionPane.showMessageDialog(null,"El # "+n+" no es primo");
}
}
}
___________________________________________________________________________
import javax.swing.*;
public class numeroreves{
public static void main(String[] args){
String c;
c=JOptionPane.showInputDialog(null,"ingrese numero","",1);
StringBuffer c1=new StringBuffer(c);
StringBuffer c2=c1.reverse();
JOptionPane.showMessageDialog(null,"El numero al revs es:"+c2);
}
}
import javax.swing.*;
public class lanzadados {
public static void main(String[] args){
int i=1,c=0;
while(i<=100){
//Generando los #s
long d1=Math.round(Math.random()*5+1);
long d2=Math.round(Math.random()*5+1);
long d3=Math.round(Math.random()*5+1);
//Incrementa en 1 el contador
c++;
//Imprimiendo los tiros de los dados
System.out.print(d1+"\t"+d2+"\t"+d3);
System.out.println("");
//Incrementa 1 al contador
i++;
if(d1==6 && d2==6 && d3==6){i=101;}
}
System.out.print("Fue necesario tirar "+c+" veces");
}
}
import javax.swing.*;
public class proyectil{
public static void main(String[] args){
//DEFINIENDO VARIABLES
double h=0,t=0;
//VARIABLE PARA EL WHILE
int c=0;
//IMPRIMIENDO LA CABECERA
System.out.println("t"+"\t"+"h");
System.out.println("");
//GENERANDO LA ALTURA VERSUS TIMEPO
while (c<=20){
//FORMULA
h=50+200*t+5*t*t;
System.out.println(t+"\t"+h+"\n");
c+=2; //incrementa el contador en 2
t+=2; //incrementa el tiempo en 2
}
}
}
import javax.swing.*;
public class promedio {
public static void main(String[] arg){
String nota1,nota2,nota3;
double promedio=0.00;
nota1=JOptionPane.showInputDialog(null,"Ingrese nota 1","",1);
nota2=JOptionPane.showInputDialog(null,"Ingrese nota 2","" ,1);
nota3=JOptionPane.showInputDialog(null, "Ingrese nota 3","",1);
int v1=Integer.parseInt(nota1);
int v2=Integer.parseInt(nota2);
int v3=Integer.parseInt(nota3);
promedio=(v1+v2+v3)/3;
System.out.println("el promedio es"+promedio);
if(promedio>12){
System.out.println(Aprobaste);
}else{
System.out.println(Desaprobado);
}
}
}
import javax.swing.JOptionPane;
public class operaciones{
public static void main(String[] arg){
double n1,n2,s,r,m,d;
n1=Integer.parseInt(JOptionPane.showInputDialog(null,"ing numero1","numero1",1));
n2=Integer.parseInt(JOptionPane.showInputDialog(null,"ing numero2","numero1",1));
s=n1+n2;
r=n1-n2;
m=n1*n2;
d=n1/n2;
JOptionPane.showMessageDialog(null,"la suma es:"+ s);
JOptionPane.showMessageDialog(null,"la resta es:"+ r);
JOptionPane.showMessageDialog(null,"la multiplicacion es:"+ m);
JOptionPane.showMessageDialog(null,"la division es:"+ d);
}
}
import
javax.swing.JOptionPane;
public class factorial{
public static void
main(String[] args){
//factorial
int num,f=1,d=1;
num=Integer.parseInt(JOptionPane.showInputDialog(null,"ing numero","numero",1));
for(int a=1;a<=num;a++){
f*=a;
}
JOptionPane.showMessageDialog(null,"el factorial de numero es:"+f);
}
}
PRACTICAS EN CLASE
import javax.swing.*;
public class cliente{
public static void main(String[] args){
String pedido,cant,pu;
double importe,dsct,total;
// articulo
pedido=JOptionPane.showInputDialog(null,"ingrese pedido","",1);
//venta
cant=JOptionPane.showInputDialog(null,"ingrese cantidad","",1);
pu=JOptionPane.showInputDialog(null,"ingrese precio unitario","",1);
int v1=Integer.parseInt(cant);
int v2=Integer.parseInt(pu);
importe=v1*v2;
if(importe>=3500){
dsct=importe*0.07;
total=importe-dsct;
JOptionPane.showMessageDialog(null,"total es"+total);
}else{
dsct=importe*0.02;
total=importe-dsct;
JOptionPane.showMessageDialog(null,"total es"+total);
}
}
}
import javax.swing.*;
public class cuenta{
public static void main(String[] args){
String valor1,valor2,valor3,valor4;
double dsct,total,totalpagar;
valor1=JOptionPane.showInputDialog(null,"ingrese pedido1","",1);
valor2=JOptionPane.showInputDialog(null,"ingrese pedido2","",1);
valor3=JOptionPane.showInputDialog(null,"ingrese pedido3","",1);
valor4=JOptionPane.showInputDialog(null,"ingrese pedido4","",1);
int v1=Integer.parseInt(valor1);
int v2=Integer.parseInt(valor2);
int v3=Integer.parseInt(valor3);
int v4=Integer.parseInt(valor4);
total=(v1+v2+v3+v4);
if(total==43){
dsct=total*0.05;
totalpagar=total-dsct;
JOptionPane.showMessageDialog(null,"total a pagar es:"+totalpagar);
}else{
JOptionPane.showMessageDialog(null,"gracias x su visita");
}
}
}
import javax.swing.*;
public class paroimpar{
public static void main(String[] args){
String valor;
valor=JOptionPane.showInputDialog(null,"Ingrese numero","",1);
int v1=Integer.parseInt(valor);
if(v1%2==0){
JOptionPane.showMessageDialog(null,"es par");
}else{
JOptionPane.showMessageDialog(null,"es impar");
}
}
import java.io.*;
public class tabla {
public static void main(String[] args) throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
int conteo=0;
int r;
System.out.print("Ingrese Nro de tabla...:");
String v=br2.readLine();
int n=(Double.valueOf(v)).intValue();
while(conteo<=12){
r=n*conteo;
System.out.println(n+"*"+conteo+"="+r);
conteo=conteo+1;
}}}
import java.io.*;
import javax.swing.*;
public class then {
public static void main(String[] args){
String v1,v2;
v1=JOptionPane.showInputDialog(null,"Ingrese valor 1","",1);
v2=JOptionPane.showInputDialog(null,"Ingrese valor 2","",1);
int v=Integer.parseInt(v1);
int n=Integer.parseInt(v2);
if(v % n==0){
JOptionPane.showMessageDialog(null,v+"es divisible entre"+n);
}else{
JOptionPane.showMessageDialog(null,v+"no es divisible entre"+n);
}}}
import java.io.*;
public class ifthenn{
public static void main(String[] args) throws IOException {
BufferedReader br2= new BufferedReader(new
InputStreamReader(System.in));
System.out.print ("Ingrese valor 1..:");
String v1=br2.readLine();
int mes=(Double.valueOf(v1)).intValue();
switch (mes){
case 1:System.out.println("Enero");break;
case 2:System.out.println("Febrero");break;
case 3:System.out.println("Marzo");break;
case 4:System.out.println("Abril");break;
case 5:System.out.println("Mayo");break;
case 6:System.out.println("Junio");break;
case 7:System.out.println("Julio");break;
case 8:System.out.println("Agosto");break;
case 9:System.out.println("Septiembre");break;
case 10:System.out.println("Octubre");break;
case 11:System.out.println("Noviembre");break;
case 12:System.out.println("Diciembre");break;
default:System.out.println("Este, no es un mes vlido!");break;
}
}
}
import java.io.*;
public class ifthennn {
public static void main(String[] args) throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
int i;
System.out.print("Ingrese total de alumnos a Registrar :");
String v1=br2.readLine();
int v=(Double.valueOf(v1)).intValue();
System.out.println("=====================================");
for (i=1;i<=v; i++){
System.out.println("Alumno Nro :"+i);
System.out.print("Cod de Matricula
:");
String cod=br2.readLine();
System.out.print("Nombres y Apellidos :");
String nom=br2.readLine();
System.out.print("Ciclo
:");
String c=br2.readLine();
System.out.print("Turno
:");
String t=br2.readLine();
System.out.print("Carrera
:");
String ca=br2.readLine();
System.out.print("Horario
:");
String h=br2.readLine();
System.out.println("
");
System.out.println("=====================================");
}
}}
import java.io.*;
public class histogramanotas {
public static void main(String[] args) throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
int c=0,i=0;
System.out.println("Nota" +"\t"+"Hostograma");
System.out.println("=======================");
while (i<=50){
double n=Math.round(Math.random()*20);
System.out.print(n+"\t");
for (int j=1;j<=n;j++){
System.out.print("*");
}
System.out.println("");
i++;
}
}
}
int impor;
double des,total;
System.out.print("Ingrese cantidad..:");
String canti=br2.readLine();
int c=(Double.valueOf(canti)).intValue();
System.out.print("Ingrese Precio unitario..:");
String unip=br2.readLine();
int u=(Double.valueOf(unip)).intValue();
impor=c*u;
System.out.println("Importe...:"+c+"*"+u+"="+impor);
if(impor>=5000){
des=impor*0.5;
total=impor-des;
System.out.println("Descuento..:"+impor+"*"+0.5+"="+des);
System.out.println("Total...:"+impor+"-"+des+"="+total);
System.out.println("Felicidades por la promocin...");
}
}
}
===================================================================
run:
Ingrese venta
==================================
Ingrese articulo..:Televisor
Ingrese cantidad..:50
Ingrese Precio unitario..:350
Importe...:50*350=17500
Descuento..:17500*0.5=8750.0
Total...:17500-8750.0=8750.0
Felicidades por la promocin...
auto=JOptionPane.showInputDialog(null,"ingrese modelo","",1);
pc=JOptionPane.showInputDialog(null,"ingrese precio contado","",1);
int v1=Integer.parseInt(pc);
t=v1*0.07;
t1=v1*0.2;
t2=v1*0.35;
ci=v1*0.2;
cin=v1*0.1;
cv=cin*0.2;
le12=((cin+cv)/12)+2;
le24=(v1+t)/24;
le36=(v1+t1)/36;
le48=(v1+t2)/48;
cb=(le24+le36+le48)*0.35/3;
JOptionPane.showMessageDialog(null,"la cuota inicial es:"+ci);
JOptionPane.showMessageDialog(null,"la cuota inicial de financiamiento es:"+cin);
JOptionPane.showMessageDialog(null,"la letra de 12 meses es:"+le12);
JOptionPane.showMessageDialog(null,"la letra de 24 meses es:"+le24);
JOptionPane.showMessageDialog(null,"la letra de 36 meses es:"+le36);
JOptionPane.showMessageDialog(null,"la letra de 48 meses es:"+le48);
JOptionPane.showMessageDialog(null,"la comision bancaria es:"+cb);
}
}
int n=(Double.valueOf(numero)).intValue();
for(b=1;b<=n;b++){
c*=b;
}
System.out.println("El factorial de numero es....:"+c);
}
import java.io.*;
public class nump {
public static void main(String[] args)throws IOException{
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese numero..:");
String num=br2.readLine();
int n=(Double.valueOf(num)).intValue();
if(n%1==0 && n%n==0 && n%2!=0){
System.out.println ("El # "+n+" es primo");
}else{
System.out.println("El # "+n+" no es primo");
}
}
}
int b=(Double.valueOf(num1)).intValue();
System.out.print("Ing 2do Numero...:");
String num2=br2.readLine();
int c=(Double.valueOf(num2)).intValue();
s=b+c;
r=b-c;
m=b*c;
d=b/c;
System.out.println("la suma es:"+b+"+"+c+"="+s);
System.out.println("la resta es:"+b+"-"+c+"="+ r);
a=(b*e)/2;
area=l*l;
ar=(r*r)*3.1416;
System.out.println("El area de un triangulo es...:"+b+"*"+e+"/2="+a);
System.out.println("___________________________________________________");
System.out.println("El area de un cuadrado es...:"+area);
System.out.println("___________________________________________________");
System.out.println("El area del circulo es..:"+ar);
}
}
75
import java.io.*;
public class importe {
public static void main(String[] args) throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
double hs,hd,hn,importe,desc,tdesc,top;
System.out.print("Ingrese Nombre del Turista.....:");
String nombre=br2.readLine();
System.out.print("Ingrese Dias.....:");
String dias=br2.readLine();
int d=(Double.valueOf(dias)).intValue();
System.out.print("Ingrese Costo x da.....:");
String costo=br2.readLine();
int cd=(Double.valueOf(costo)).intValue();
hs=0.1;
hd=0.2;
hn=0.3;
importe=d*cd;
desc=importe*hs;
tdesc=importe-desc;
top=tdesc;
System.out.println("El importe es...:"+d+"*"+cd+"="+importe);
System.out.println("El Descuento es...:"+importe+"*"+hs+"="+desc);
System.out.println("El Total Descuento es...:"+importe+"-"+desc+"="+tdesc);
System.out.println("El Total a pagar es...:"+top);
}}
Ms
import java.io.*;
public class win {
public static void main(String[] args) throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
System.out.print ("Ingrese valor 1..:");
String a=br2.readLine();
int curso=(Double.valueOf(a)).intValue();
switch (curso){
case 1:System.out.println("Windows");break;
case 2:System.out.println("Ms Word");break;
case 3:System.out.println("Excel");break;
case 4:System.out.println("CorelDraw");break;
case 5:System.out.println("Photoshop");break;
default:System.out.println("Ingles");break;
}}}
import java.io.*;
public class xy {
public static void main(String[] args)throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
double c,d;
System.out.print("Ingrese valor x...:");
String v=br2.readLine();
int x=(Double.valueOf(v)).intValue();
System.out.print("Ingrese valor y...:");
String n=br2.readLine();
int y=(Double.valueOf(n)).intValue();
if(x>0 && y>0){
c=x-(2*y);
d=(6*x)+(2*y);
System.out.println(+x+"-(2*"+y+")="+c);
System.out.println("(6*"+x+")+(2*"+y+")="+d);
System.out.println("=========================");
System.out.println("El valor de x es..:"+c);
System.out.println("El valor de y es..:"+d);
}
}
}
String asi=br2.readLine();
System.out.print("Ingrese faltas justificadas.... :");
String ju=br2.readLine();
System.out.print("Ingrese trabajos pendientes.... :");
String trap=br2.readLine();
System.out.print("Ingrese Pago de matricula.... :");
String ma=br2.readLine();
System.out.print("Ingrese Mora respectivo.... :");
String mo=br2.readLine();
System.out.println("===========================================");
}}}
Recolectar datos
Nombre del trabajador, da que laborado, valor que le pagan por da, categora
1:empleado, Categora 2:obrero
A) ORDENANDO
DATOS DE INGRESO
Nombre del trabajador, categora
DATOS DE PROCESO
Sueldo=800 o 1300
DATOS DE SALIDA
sueldo
ALGORITMO
var
nt,ca:cadena
s,sueldo:numerico
inicio
imprimir("Ingrese nombre del trabajador")
leer(nt)
imprimir("Ingrese categoria")
leer(ca)
imprimir("Ingrese sueldo")
leer(s)
si(s<=800)
{sueldo=s}
imprimir("El sueldo es",s)
fin
________________________________________________________________________
import java.io.*;
public class trabajo {
public static void main(String[] args)throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nombre del Trabajador...:");
String nom=br2.readLine();
System.out.print("Categoria ...:");
String ca=br2.readLine();
System.out.print("Ingrese sueldo ...:");
String c=br2.readLine();
int s=(Double.valueOf(c)).intValue();
if(s>=800){
System.out.println("El sueldo es..:S/"+s);
}else{
System.out.println("El sueldo es..:S/1300");
}}}
Instituto
sise
telesup
idat
mensualidad
350
180
400
import java.io.*;
public class inst {
public static void main(String[] args)throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese Opcin..:");
String n=br2.readLine();
int i=(Double.valueOf(n)).intValue();
System.out.print("Nombre del Alumno...:");
String nom=br2.readLine();
System.out.print("Nombre del Instituto...:");
String in=br2.readLine();
switch (i){
case 1:System.out.println("Mensualidad 350");break;
case 2:System.out.println("Mensulaidad 180");break;
case 3:System.out.println("Mensualidad 400");break;
}}}
DATOS DE INGRESO
Nombre del trabajador, das que a laborado, valor que le paga por da, categora
DATOS DE PROCESO
Total=das que a laborado*valor x da
Desc=total*Desc
Sueldon=total-desc
DATOS DE SALIDA
ALGORITMO
var
nt,ca1:cadena
dias,valor,desc,total,sueldon:numerico
inicio
imprimir("Ingrese nombre del trabajador")
leer(nt)
imprimir("Ingrese Dias laborado")
leer(dias)
imprimir("Ingrese valor x dia")
leer(valor)
imprimir("Ingrese descuento")
leer(desc)
imprimir("Ingrese categoria")
leer(ca1)
total=dias*valor
desc=total*desc
sueldon=total-desc
imprimir("El total es",total)
imprimir("El Descuento es",desc)
imprimir("El sueldo neto es",sueldon)
fin
________________________________________________________________
import java.io.*;
public class obrero {
public static void main(String[] args)throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
double total,t,desc,desc1,suel,suel1;
System.out.print("Nombre del Trabajador...:");
String no=br2.readLine();
System.out.print("Categoria ...:");
String c=br2.readLine();
System.out.print("Dias que Laboro...:");
String d=br2.readLine();
int v=(Double.valueOf(d)).intValue();
System.out.print("Valor que paga x dia...:");
String dia=br2.readLine();
int n=(Double.valueOf(dia)).intValue();
total=v*n;
if (total<=1200){
desc=total*0.07;
suel=total-desc;
System.out.println("El sueldo Mensual es..:S/"+total);
Forma de pago
efectivo
12%
tarjeta
40%
import java.io.*;
public class tarjeta {
public static void main(String[] args)throws IOException {
BufferedReader br2= new BufferedReader(new InputStreamReader(System.in));
int i;
double total,desc,totalv,igv,totg,r,valorventa;
System.out.print("Nombre del Cliente...:");
String nom=br2.readLine();
System.out.print("Forma de pago...:");
String pag=br2.readLine();
System.out.print("Ingrese Opcion...:");
String op=br2.readLine();
int p=(Double.valueOf(op)).intValue();
}}}
ESTRUCTURAS DE CONTROL
Durante un programa existen acciones que se han de repetir un nmero determinado de veces. Por ejemplo, leer 3 caracteres
de un flujo de entrada in se codificara:
in.read();
in.read();
in.read();
Este cdigo adems de poco elegante sera inviable para una repeticin de 3000 lecturas. Por eso aparecen las estructuras de
control, que facilitan que determinadas acciones se realicen varias veces, mientras que una condicin se cumpla, y en
definitiva, tomar decisiones de qu hacer en funcin de las condiciones que se den en el programa en un momento dado de su
ejecucin.
As, nuestro ejemplo se podra indicar como:
int i=0;
for ( i=0 ; i <= 3 ; i++ )
in.read();
Donde bastara cambiar el 3 por cualquier otro nmero para que la lectura se repitiese ese nmero de veces.
El lenguaje Java soporta las estructuras de control:
Sentencia
Clave
Toma de decisin
if-else, switch-case
Bucle
for, while, do-while
Miscelneo
break, continue, label:, return, goto
Aunque goto es una palabra reservada, actualmente el lenguaje Java no soporta la sentencia goto. Se puede utilizar las
sentencias de bifurcacin en su lugar.
a.) La sentencia if - else
La sentencia if-else de Java dota a los programas de la habilidad de ejecutar distintos conjuntos de sentencias segn algn
criterio.
La sintaxis de la sentencia if-else es:
if ( condicin )
Bloque de cdigo a ejecutar si la condicin es cierta
else
Bloque de cdigo a ejecutar si la condicin es falsa
La parte del else es opcional, y un bloque de cdigo puede ser simplemente la sentencia vaca ; para representar que en ese
caso no se ha de ejecutar nada.
Supongamos que un programa debe realizar diferentes acciones dependiendo de si el usuario oprime el botn aceptar o el
botn cancelar en una ventana de dialogo. Nuestro programa puede realizar esto usando la sentencia if - else:
// La respuesta es Aceptar o Cancelar
if (respuesta == Aceptar) {
La terminacin es una expresin que determina cundo se debe terminar el bucle. Esta expresin se evala al final de cada
iteracin del bucle. Cuando la expresin se evala a falso, el bucle termina.
El incremento es una expresin que es invocada en cada iteracin del bucle. En realidad puede ser una accin cualquiera,
aunque se suele utilizar para incrementar una variable contador:
for ( i = 0 ; i < 10 ; i++ )
Algunos (o todos) estos componentes pueden omitirse, pero los puntos y coma siempre deben aparecer (aunque sea sin nada
entre s).
Se debe utilizar el bucle for cuando se conozcan las restricciones del bucle (su instruccin de iniciacin, criterio
e.) Sentencia break
La sentencia break provoca que el flujo de control salte a la sentencia inmediatamente posterior al bloque en curso. Ya se ha
visto anteriormente la sentencia break dentro de la sentencia switch.
El uso de la sentencia break con sentencias etiquetadas es una alternativa al uso de la sentencia goto, que no es soportada por
el lenguaje Java.
Se puede etiquetar una sentencia poniendo una identificador Java vlido seguido por dos puntos antes de la sentencia:
nombreSentencia: sentenciaEtiquetada
La sentencia break se utiliza para salir de una sentencia etiquetada, llevando el flujo del programa al final de la sentencia de
programa que indique:
break nombreSentencia2;
Un ejemplo de esto sera el programa:
void gotoBreak() {
System.out.println("Ejemplo de break como 'goto' ");
a: for( int i=1; i<10; i++ ){
System.out.print(" i="+i);
for( int j=1; j<10; j++ ){
if ( j==5 )
break a; //Sale de los dos bucles!!!
System.out.print(" j="+j);
}
System.out.print("No llega aqu");
}
}
Al interpretar break a, no solo se rompe la ejecucin del bucle interior (el de j), sino que se salta al final del bucle i,
obtenindose:
i=1 j=1 j=2 j=3
Nota: Se desaconseja esta forma de programacin, basada en goto, y con saltos de flujo no controlados.
f.) Sentencia continue
Del mismo modo que en un bucle se puede desear romper la iteracin, tambin se puede desear continuar con el bucle, pero
dejando pasar una determinada iteracin.
Se puede usar la sentencia continue dentro de los bucles para saltar a otra sentencia, aunque no puede ser llamada fuera de un
bucle.
Tras la invocacin a una sentencia continue se transfiere el control a la condicin de terminacin del bucle, que vuelve a ser
evaluada en ese momento, y el bucle contina o no dependiendo del resultado de la evaluacin. En los bucles for adems en
ese momento se ejecuta la clusula de incremento (antes de la evaluacin). Por ejemplo el siguiente fragmento de cdigo
imprime los nmeros del 0 al 9 no divisibles por 3:
for ( int i = 0 ; i < 10 ; i++ ) {
if ( ( i % 3 ) == 0 )
continue;
System.out.print( " " + i );
}
Del mismo modo que break, en las sentencias continue se puede indicar una etiqueta de bloque al que hace referencia. Con
ello podemos referirnos a un bloque superior, si estamos en bucles anidados. Si dicha etiqueta no es indicada, se presupone
que nos referimos al bucle en el que la sentencia continue aparece.
Por ejemplo, el siguiente fragmento de cdigo:
void gotoContinue( ) {
f: for ( int i=1; i <5; i++ ) {
for ( int j=1; j<5; j++ ) {
if ( j>i ) {
System.out.println(" ");
continue f;
}
System.out.print( " " + (i*j) );
}
}
}
En este cdigo la sentencia continue termina el bucle de j y continua el flujo en la siguiente iteracin de i. Ese mtodo
imprimira:
1
2 4
3 6 9
4 8 12 16
Nota: Se desaconseja esta forma de programacin, basada en goto, y con saltos de flujo no controlados.
g.) Sentencia return
La ltima de las sentencias de salto es la sentencia return, que puede usar para salir del mtodo en curso y retornar a la
sentencia dentro de la cual se realiz la llamada.
Para devolver un valor, simplemente se debe poner el valor (o una expresin que calcule el valor) a continuacin de la
palabra return. El valor devuelto por return debe coincidir con el tipo declarado como valor de retorno del mtodo.
Cuando un mtodo se declara como void se debe usar la forma de return sin indicarle ningn valor. Esto se hace para no
ejecutar todo el cdigo del programa:
int contador;
boolean condicion;
int devuelveContadorIncrementado(){
return ++contador;
}
void metodoReturn(){
//Sentencias
if ( condicion == true )
return;
//Ms sentencias a ejecutar si condicin no vale true
}
En el constructor de la clase ser donde crearemos el formulario bsico utilizando los elementos
de Java Swing. Pero antes de instanciar los elementos del formulario vamos a llamar al constructor
de JFramemediante el mtodo super().
public FormularioBasicoSwing() {
super("Formulario Basico");
}
Antes de aadir los elementos al formulario vamos a dar un layout al contenedor. El layout es la forma
en la que se van a posicionar los elementos en el contenedor. En este caso vamos a utilizar
un FlowLayout. El FlowLayout posiciona los elementos de izquierda a derecha y de arriba a abajo.
El mtodo .setLayout() nos ayudar a asociar el FlowLayout a nuestro contenedor.
1.
getContentPane().setLayout(new FlowLayout());
Una vez creados hay que aadirlos al contenedor mediante el mtodo .add()
1.
2.
3.
getContentPane().add(label);
getContentPane().add(textfield);
getContentPane().add(boton);
Ya solo nos quedar definir el tamao de la ventana y hacerla visible. Es decir, invocar a los
mtodos.setSize() y .setVisible()
1.
2.
setSize(400,300);
setVisible(true);
La forma de pedir datos con Java a travs de un control visual, resultar un tanto distinta
a la que hemos trabajado anteriormente. Una peticin de datos, se realizar a travs de
un objeto prefabricado de la clase JTextField. Mostraremos el siguiente cdigo y la salida
respectiva de entrada de datos, con un control visual en Java, y luego lo explicaremos y
comentaremos:
Ahora explicaremos en detalle el cdigo. Para su mejor entendimiento lo hemos
numerado y lo asumiremos como una secuencia de pasos a seguir para construir una
estructura visual en Java. Para este ejemplo, hemos tomado la entrada de datos a travs
de un control visual, pero el tratamiento ser similar para cualquier otro control visual
como veremos en otros artculos.
(1) Paquete
En este punto, se usa la sentencia import, para declarar los paquetes que emplearemos
en nuestro programa. Explicar, que un paquete es algo similar a una ruta, donde se
encuentran las clases que utilizaremos en el programa. En nuestro caso, JTextField,
JPanel, JFrame, son clases que pertenecen al paquete javax.swing, as como la
clase Color pertenece al paquete java.awt. Los paquetes forman parte de java, lo nico
que hacemos nosotros es cargarlos para poder usarlos en nuestro programa.
(2) Formulario
Programa extends JFrame. La idea de esta sentencia, es hacer que nuestro programa
tenga el comportamiento de un formulario (ventana Windows) y para ello debemos
heredar (extends) de JFrame, sus particularidades. JFrame, es una clase que tiene todas
las caractersticas propias de una ventana en Windows. A partir de este punto, nuestro
programa deja de ser un programa de consola DOS y pasa a ser un programa visual tipo
ventana Windows.
(3) Controles del formulario
Aqu, se crean los objetos de los controles visuales que se mostrarn en el formulario. El
primer objeto que vemos es jpanel,mencionar, que es un nombre cualquiera y pertenece
a la clase JPanel. EL objeto jpanel, es lo que se llama un contenedor, que como su
propio nombre indica, va a contener a los dems controles visuales. Es decir, que los
controles visuales no se ponen directamente en el formulario, sino en el contenedor,
colocado ste encima del formulario. El siguiente objeto es jtextfield,perteneciente a la
clase JTextField; este objetojtextfield, contiene el control visual para pedir un dato al
usuario y tiene la apariencia de una caja para ingresar texto (textbox).
(4) Constructor del formulario
Si se observa, es una estructura igual a un mtodo, que se inicia con una apertura de
llave { y termina con la clausura de la llave }. Entre dichas llaves se procede a dar a
los objetos, que representan a los controles visuales, los atributos. Tambin aade los
controles visuales al contenedor, adems de establecer los atributos del formulario. Con
ms detalle, veremos todo esto en los siguientes puntos.
(5)
.jpanel.setBackground(Color.lightGray).
Al
pasarse Color.lightGray, como
parmetro del mtodo setBackground, le decimos al contenedor, representado en el
objeto jpanel, que tome un
color de fondo gris suave. Ahora, si quisiramos usar otro color de fondo, como el color
verde, usaramos el parmetro Color.green, y de igual manera para otros colores.
(6)
Un formulario tiene una apariencia visual por defecto, por ejemplo el tamao, el color de
fondo, entre otros. Estas propiedades, las podemos cambiar, a travs de una serie de
mtodos, como los siguientes:
.- setSize(300,150).Ubica la esquina superior izquierda del formulario en la pantalla, en
la coordenada (300,150)=(x,y)=(columna,fila).
.- setTitle("Form1"). La
cadena
Form1,
como
parmetro
del
mtodo setTitle, significa que se establecer como ttulo del formulario la cadena
Form1.
.- setVisible(true). Este parmetro true, del mtodo setVisible, determina que el
formulario sea visible en la pantalla, ya que si ponemos false, el formulario est en la
pantalla de forma invisible.
(9)
En este punto se definen los mtodos que se necesitan para realizar las tareas que
disean el formulario. Tambin es el lugar del mtodo main, que hace que nuestra clase
Programa se pueda ejecutar, ya que si dejamos de poner el mtodo main, no podr
ejecutarse, porque dentro de este mtodo, es dnde creamos un objeto del formulario, a
travs de la instruccin new Programa ().Por tanto debe quedar claro que el formulario
se crea siempre y cuando creemos un objeto de la clase Programa, lo cual declaramos
como new Programa();.
LA FUNCIN (MTODO) GETTEXT
Esto supone, que la variable a, que ha sido definida como tipo float, adopta el contenido
numrico del JTextField.
La funcin getText, no elimina los espacios en blanco, ni los tabuladores ni los avances
de lnea. Para suprimirlos, podemos aplicar el ejemplo siguiente:
String cadena =
38205
;
String cadenalimpia = cadena.trim(); //Devuelve 38205 como cadena
float a = Float.parseFloat(cadenalimpia); //Devuelve 38205 como nmero real