domingo, 27 de abril de 2014

Píldoras de Programación en Java: ActionListener



Lo que vamos a aprender en este tutorial es a utilizar de una forma sencilla el ActionListener, que es el encargado de realizar una acción específica cuando ocurra un evento dentro del programa, como podría ser cuando alguien oprime un botón. Para ello necesitaremos crear una pantalla que contenga un botón y un TextFiled ya que lo que se quiere hacer es que cada que alguien oprima el botón se escribirá en consola lo que hayan escrito en el TextField .

Ejemplo

Así que tenemos que crear una nueva aplicación, en este caso la llamare Objeto.


Y dentro de la misma aplicación crearemos una nueva clase que se llamara Pantalla




Para utilizar el ActionListener en java necesitamos utilizar un método llamado actionPerformed.
El ActionListener lo podríamos ver como una clase ya que al igual que en las clases este necesita sus propias variables con las que este trabajara y también se nos hace posible crear un constructor dentro de él (código de abajo). En este caso nosotros solo necesitamos como parámetro o variables enviarle un textField que es de donde extraeremos lo que tenga escrito, para ello tenemos que crear dentro del actionListener una variable de tipo JTextField a la cual la igualaremos dentro del constructor al textField que nos envíen como parámetro que en este caso será el textField que se está utilizando dentro de la clase pantalla ya que como dijimos cada clase maneja sus propias variables.



private JTextField texto1;
public Imprimir(JTextField aux){
texto1=aux;
}


En esta parte de del código igualamos las variables y ya que en java al igualar una variable con otra no se iguala el contenido sino se hace referencia a su espacio de memoria estamos diciendo que esta dos variables son exactamente las mismas (ya que tiene la misma referencia).
Nota: JTextField aux que está dentro de los paréntesis solo es una variable que se crea como un auxiliar cuando se manda el texField en la clase pantalla y por ello esta variable se podría decir que desaparece después de ser utilizada y no se puede hacer referencia a ella.


Integer.parseInt es un método que tiene la clase Integer que permite convertir una varaiable de tipo String a un número entero. Esto nos sirve ya que el texto que contiene el textfield es de tipo String y como sabemos no podemos sumarle un Integer a un String. Y como lo que se quiere hacer es sumarle una unidad a el número que se escriba en el textfield es necesario poder manejarlo como un Integer así que lo que se hacer es escribir Integer a=Integer.parseInt(texto1.getText()); para que podamos manejar ese número en una variable de tipo entera en este caso “a”.

Nota: Integer.parseInt(texto1.getText()); se escribió de esta forma ya que si solo se pusiera Integer.parseInt(texto1); nos marcaria error ya que texto1 es de tipo JTextField y lo que el Integer.parseInt() nos pide como parámetro es un String y para ello ponemos texto1.getText() que lo que hace es dar la referencia del texto que contenga el textField (que es de tipo String).

Sabiendo todo esto solo es necesario sumarle una unidad al número (a++) e impriomirlo en consola con el System.out.println(). 


Ya terminado esto tenemos lo que el programara ara cada que aprieten el botón pero aún no se ha especificado a que botón se hará referencia cuando esto ocurra así que hay que hacerlo poniendo:

boton.addActionListener(new Imprimir(texto));

En este caso botón es el nombre de nuestra variable de tipo JButton al que se hará referencia cuando se oprima. Y dentro de paréntesis pondremos el tipo de acción que queremos que agá ya que dentro de nuestro programa podríamos tener n tipos de acciones, en este caso el nombre de la clase (acción) le pusimos como nombre Imprimir con su respectivo parámetro, en este caso se enviara a texto que es la variable de tipo JTextField del que queremos extraer el texto.
También podríamos utilizarlo de esta forma ya que el actionlistener como se dijo es como una clase.


Imprimir imprimir=new Imprimir (texto);
boton.addActionListener(imprimir)
Mandando como referencia una variable de tipo Imprimir como parámetro del ActionListener.
Nota: en este caso el programa marcara error si lo que escribimos dentro del textField es una letra o palabra ya que al utilizar el Integer.parseInt(), este comportamiento solo sirve cuando lo que se escribe son números y no letras.

Ejercicios

Hacer un programa que pinte una pantalla que contenga un botón y un textField. Y que al escribir un numero en el TextField escriba en consola el número de asteriscos que se allá escrito

  



Píldoras de Programación en Java: Botones




Ahora que ya sabemos crear un frame es hora de agregarle objetos a este, en este caso agregaremos un botón sencillo en color naranja y que va estar situado en la coordenada(10,10) dentro de nuestro frame.
Ya que tenemos creado nuestro frame solo agregaremos una pequeña parte del código que será del botón.

package javaapplication45;
import java.awt.Color;
import java.awt.Cursor;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Prueba {
private JFrame frame;
private JButton boton;- Declararemos nuestra variable de tipo JButton y así mismo nos pedirá que importemos de la librería swing a JButton.
public Prueba(){
frame=new JFrame("EjemploConBoton");
frame.setSize(390,250);
frame.setLocation(200,200);
frame.setResizable(false);
frame.setLayout(null);
frame.setCursor(Cursor.CROSSHAIR_CURSOR);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  • Es importante crear nuestro botón antes de la ultima de nuestro frame, que es la de setVisible para que asi sea visible también nuestro botón.
boton=new JButton("Boton1");- Creamos una nuevo objeto de tipo JButton.
boton.setBounds(10, 10, 100, 40);- Aquí daremos las coordenadas en donde queremos que este nuestro botón y en seguida el tamaño de nuestro botón.
boton.setBackground(Color.ORANGE);- Aquí le ponemos si es que lo deseamos un color diferente al que trae por defecto el botón. Escribiremos solamente color y enseguida el color que deseemos.
Así como estas también hay propiedades que nos permiten cambiar el tipo de fuente que está en el botón y mas, están irán antes de que lo agreguemos al frame.
frame.add(boton);- En esta parte añadimos el botón al frame, sino lo hacemos pues el botón no aparecerá.
frame.setVisible(true);-
}
}

Ejemplo:

import java.awt.Color;
import java.awt.Cursor;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Prueba {
private JFrame frame;
private JButton boton;
public Prueba(){
frame=new JFrame("EjemploConBotones");
frame.setSize(390,250);
frame.setLocation(200,200);
frame.setResizable(false);
frame.setLayout(null);
frame.setCursor(Cursor.CROSSHAIR_CURSOR);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
boton=new JButton("Boton");
boton.setBounds(40, 25, 88, 40);
boton.setBackground(Color.RED);
boton.setBorderPainted(false);
frame.add(boton);
frame.setVisible(true);
}
}

Como vemos es un botón sin borde y de color rojo:



Ejercicios:

Crear un botón de tamaño de 80x20 en el que diga “oprimir” ubicado en (40,30), de color azul.
Hacer un frame con cuatro botones distribuidos uniformemente de 40x15 en el que muestren un texto con el número del botón. Cada uno de color diferente.

Píldoras de Programación en Java: JTextField


Nota del video: La parte del JTextField empieza en el minuto 3:09



Este es un componente u objeto que nos permite ingresar una línea de texto que puede ser del tamaño que nosotros queramos. Debe quedar claro que este componente por defecto recibirá todo en tipo de dato String así que si queremos usar números tendremos que convertirlos después de haber sido ingresados.
Y la forma de crearlos es la siguiente, prácticamente se usa la misma forma que para el botón; además de que hay muchos más componentes que podemos agregar de la misma manera. Aquí se mostrara como agregar también un JLabel que no es más que mostrar texto en el frame.


prívate JTextField caja; - Es la línea que va justo donde creamos el frame y el botón anteriormente.
caja=new JTextField("Texto");- Aquí instanciamos como un nuevo objeto de tipo JTextField. Nos mostrara el texto “Hola”.
caja.setBounds(40, 75, 88, 30);- Como en el botón le damos las coordenadas que deseemos, además del tamaño.
Font fuente=new Font("Dialog", Font.ITALIC, 20);- Aquí se está creando un tipo de fuente con el nombre fuente entre los paréntesis vamos a poner “el nombre el que queramos”,Font.ElTipoDeFuente,el tamaño.
caja.setFont(fuente);- Y aquí llamamos a nuestra fuente para que sea esta la que aparezca en nuestra caja de texto.
caja.setForeground(Color.RED);- Cambiamos el color del texto que aparecerá en nuestro JTextField.
frame.add(caja);- Añadimos al frame el JTextField.

frame.setVisible(true);




Ejemplo:

Se muestra como hacer un JText FIeld que sea editable y que tenga el texto en color azul de tamaño de fuente 20.
caja=new JTextField("Texto");
caja.setBounds(120, 25, 88, 30);
Font fuente=new Font("Dialog", Font.PLAIN, 20);
caja.setFont(fuente);
caja.setEditable(true);
caja.setForeground(Color.BLUE);
frame.add(caja);



Ejercicio:

Mostrar en un frame un JTextField de 80x25 ubicado en la esquina superior izquierda, con un texto en color rojo y una fuente de tipo BOLD en tamaño 15; y que no sea editable.
Hacer una lista de 15 JTextField alineados horizontalmente con tamaños de 40x20 y que se muestre en cada uno de ellos el numero de jtextFIeld que son.

Píldoras de Programación en Java: Frame





Un frame es la parte visual de nuestro programa en la que podemos agregar más objetos dentro de el. El mismo tiene propiedades que podemos modificar a nuestro gusto como los en el tamaño, la posición donde queremos que aparezca a la hora de ejecutarlo, hasta podemos cambiar el cursor a la hora de que se situé sobre él.
La forma de crear este frame es java es la siguiente:
package ElNombreDelPackage; -Bueno aquí estamos indicando en que paquete o en qué proyecto queremos que este la clase en este caso será nuestro frame.
import javax.swing.JFrame;- En esta línea agregamos de la librería swing el objeto JFrame sin esto nos marcara un error el programa.(si ponemos import javax.swing.* “esto nos agrega toda la librería y ya no tendremos que poner objeto por objeto”)
public class EjemploFrame { - Ene esta línea estamos iniciando nuestra clase con el nombre de EjemploFrame.
private JFrame frame; - Aca declaramos nuestra variable, primero el tipo de nuestra variable y después el nombre.
public EjemploFrame(){ - Aca iniciamos nuestro constructor; donde ira nuestro frame, siempre el constructor de la clase se llamara igual a ella. No le ponemos parámetros ya que no los necesita.
frame=new JFrame(“titulo”); - Instanciamos nuestro frame. Si queremos dentro de los paréntesis podemos poner el titulo de la ventana que quermos que aparezca en nuestro programa.
frame.setSize(300,400); - Indicamos el tamaño de nuestro frame, el primer valor es el ancho y el segundo la altura. Estas unidades ya vienen dadas en pixeles.
frame.setLocation (200, 400);- Definición de la posición en pantalla donde va a estar nuestro frame una vez que lo creemos.
frame.setLayout(null);- El Layout nos permite acomodar los objetos que estén dentro de nuestro frame de una forma por decirlo automática de manera que todos los componentes que agreguemos a él se muestren. En este caso para no complicarnos le daremos que es null ya que seremos nosotros los que los acomodaremos.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); -Esta línea hara que al momento de hacer clic en el icono de cerrar la ventana del programa se cerrara toda la aplicación.
frame.setVisible(true);- Hace visible el frame a la hora de ejecutarlo.
}- Cierra el constructor.
} – Cierra la clase.
  • Dentro de la clase principal de nuestro programa llamaremos a este nuevo frame de la siguiente manera.
package ElNombreDelPackage;
public class JavaApplication{
public static void main(String[] args) {
EjemploFrame prueba1=new EjemploFrame(); - Crea objeto prueba1 de la clase EjemploFrame.
}
}
Con este código podemos realizar ya nuestro frame. Ademas de que hay mas propiedades que podemos usar y que se sigue la misma forma, poniendo ElNombreDelFrame.setLaPropiedad.
Ejemplo de Frame:
Un Frame que al momento de pasar el cursor sobre el cambia. Esto con el setCursor(); Acá podemos elegir uno que nosotros queramos, el que yo tengo acá es para cambiar el tamaño.
package javaapplication45;

import java.awt.Color;
import java.awt.Cursor;
import javax.swing.JFrame;

public class Prueba {
private JFrame frame;
public Prueba(){
frame=new JFrame("Ejemplo1");
frame.setSize(260,190);
frame.setLocation(30, 600);
frame.setLayout(null);
frame.setCursor(Cursor.E_RESIZE_CURSOR);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

}



Ejemplo 2:

En este caso le cambiamos el cursor, además de que no será posible que se cambie el tamaño por la propiedad setResizable ya que esta en false.
package javaapplication45;

import java.awt.Color;
import java.awt.Cursor;
import javax.swing.JFrame;

public class Prueba {
private JFrame frame;
public Prueba(){
frame=new JFrame("Ejemplo2");
frame.setSize(260,190);
frame.setLocation(30, 600);
frame.setResizable(false);
frame.setLayout(null);
frame.setCursor(Cursor.CROSSHAIR_CURSOR);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}



Ejercicio:

Mostrar en pantalla una ventana de 600x500 pixeles, que no cambie de tamaño y que se muestre al centro de la pantalla, con un cursor diferente al que se muestra fuera del programa.


Píldoras de Programación en Java: Clases y Métodos







Una clase es un tipo de dato que podemos utilizar en java, algo bueno de java es que nos permite crear cuantas clases queramos utilizar, estas se crean a partir de las clases que ya están incluidas en java como es la clase Integer (que maneja datos de tipo numérico enteros), String (que son las cadenas de caracteres ), entre otras.
Una clase como tal tiene sus propias características y comportamientos que las distinguen y que solo existen dentro de ella, conocidos como métodos, que son las acciones que puede manejar dicha clase.
Para comprenderlo mejor pondré como ejemplo una librería, las características de la librería es que tiene libros y un libro como tal tiene una editorial, numero de páginas, un autor, la fecha en la que se publicó entre otras cosas. Como sabemos no todos los libros son iguales pero el hecho de ser libros es algo que tienen en común, y esto lo podríamos ver como una clase que podríamos llamar “libro”. Como se mencionó las clases tiene métodos que solo existen dentro de la misma clase o que solo puede utilizar ese tipo de dato. Para ejemplificarlo podemos decir que un libro se puede prestar dentro de la librería y que tiene un tiempo límite para poder entregarlo, de lo contrario se deberá der una sanción por entregarlo fuera de tiempo. Un método que se podría crear en este caso es el de saber cuántos días fue rentado ese libro, y como nombre del método podríamos decir que se llamara diasPrestados el cual solo puede ser llamado o utilizado por un libro.

Ejemplo


En el video se muestra la forma en la que se debe utilizar y crear una clase y su método en java .
el código que se puede crear con el ejemplo anterior de la librería es el siguiente. Donde el programa principal se llama “librería” y se crearon dos clases dentro de él; “Libros” y “Fecha”.

Para la clase principal que se llama librería


Para la clase Libros

La clase fecha



Ejercicio:

Crear un programa que se llame Tienda y Crear una clase en el que ejemplifique los diferentes tipos de celular y que contenga su costo, compañía y número de serie. Y crear un método que se llame descuento el cual calculara el descuento que se aplica al comprar un celular que tiene un porcentaje determinado de descuento.





Píldoras de Programación en Java: Condicionales

IF

If se puede identificar como una estructura de control de condición que nos ayuda a tener un control o más bien como un filtro de lo que queramos que acepte nuestro programa o lo que no y que opción daríamos.

Su estructura es así


if(condición)
{
código (verdad)
}
else
{
falso
}
Veamos que la condición es casi igual como un while pero la diferencia es que aquí si se cumple entra en donde está el código y todo lo que el programa tenga que realizar, al terminar este proceso, se olvida de los demás que contenga abajo. Mientras que, si la condición no se cumple, entre en el else que vendría siendo como el código alterno por si no se cumple la condición primera. También se pueden agregar los else if que son los que van entre el if y else por si queremos agregar más opciones.

Ejemplo

Hacer un programa en el cual identifiquemos si el número introducido es un número primo o no lo es. Los números primos se identifican por ser los números que sólo tienen 2 divisores, el 1 y ellos mismos.

Como vemos en la imagen el código para el if es muy sencillo, primeramente se agrega una variable que vendría siendo el número 2, con el cual se identifica rápidamente si el número es primo o no, el primer if tiene como condición que si el modulo de el número entre el 2 es igual a 0, quiere decir que es un número que tienen un tercer divisor, y si se cumple tiene a la espera otro if, donde si el número introducido es 2, quiere decir que es primo, pero si no es 2, sale y por lo tanto agarra el código del primer if, que hablaba sobre el tercer divisor, y por lo tanto, no es primo, pero si no entra en el primer if como es el caso del número 3, automáticamente se va al else donde imprime que si es primo.

Es bueno decir que introducir if dentro de otro if es de buena ayuda pues asi nos ayuda a tener más controlado nuestro programa y que realmente queremos que sea valido y que no.

Ejercicio

Identificar si las medidas introducidas de un triángulo equivalen a uno de forma equilátero, isósceles o escaleno.


SWITCH



Version:1.0 StartHTML:0000000167 EndHTML:0000008535 StartFragment:0000000454 EndFragment:0000008519
Aquí se muestra el código del video como es que se hizo y una explicación:
package calculadora;- Acá está indicando como es que se llama el package donde está el proyecto es decir donde se encuentra la clase principal.
import java.util.Scanner;- Se importa la librería en donde se encuentra el Scanner. Sin esto nos mostrara errores.
/**
*
* @author electronica
*/
public class Operadores {- Iniciamos la clase Operadores
public Operadores(){- Hacemos el constructor que debe ser con el mismo nombre de la clase.
int num1,num2;- declaramos dos enteros que serán los que vamos a operar en si
System.out.println("Ingrese el primer numero");
num1=scan.nextInt();- igualamos el num1 con el valor que nos de el usuario en el teclado.
System.out.println("Ingrese el segundo numero");
num2=scan.nextInt();- Igualamos con el scan el num2 con el numero que nos dé el usuario.
System.out.println("Presione 1 Si desea Sumar");
System.out.println("Presione 2 Si desea Restar");
System.out.println("Presione 3 Si desea Multiplicar");
System.out.println("Presione 4 si desea Dividir");
int opcion;- Decalaramos otra variable entera con el nombre de opción que será la que tomara los valores ya sea del 1 al 4 dependiendo de que operación quiera hacer el usuario.
opcion=scan.nextInt();- Aca opción tomara el valor que nos indique el usuario a atraves del teclado.
switch(opcion){.- Iniciamos con el Switch, y como vemos primeramente ponemos el Switch seguido de dos paréntesis que es donde se pondrá el nombre de la variable que es la que vamos a comparar en este caso. Y abrimos las llaves.
case 1: siempre para los casos que queramos es esta sintaxis aquí es el uno, y es asi case y el numero que queramos. Y seguido de los dos puntos van todas las operaciones que deseemos hacer con este caso.
System.out.println("El resultado de la Suma es: "+(num1+num2));
break; el break es para salir del programa una vez que haya hecho esto. Si no se pone esto se seguirá el programa con los demás casos.
case 2: if (num1 comparamos los números y si el primero es menor mandamos un mensaje que non s epuede hacer la operación.
System.out.println("No se puede hacer la operacion");
}else{ - si es menor realizaremos la operación el mismo caso que en el 4.
System.out.println("El resultado de la Resta: "+(num1-num2));
}
break;
case 3: System.out.println("El resultado de la Multiplicacion es: "+(num1*num2));
break;
case 4:if(num1
System.out.println("El numero 1 es menor");
}else{
System.out.println("El resultado de la Division: "+(num1/num2));
}
break;
default: System.out.println("La opcion es Incorrecta");break; - si nos dan un numero que no sea del 1 al 4 mandara un mensaje de error. Y terminara le programa.
}
}
}
package calculadora;

public class Calculadora {

public static void main(String[] args) {
Operadores nuevo= new Operadores(); . Dentro de la clase principal instanciamos a nuevo de la clase Operadores para poder ejecutar el programa.
}
}

Ejemplo:

Nos indica el número de días que tiene el mes del año indicado.
public class Meses {
public static void main(String[] args) {

int mes = 10;
int año = 2002;
int numDias = 0;

switch (mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDias = 31;
break;
case 4:
case 6:
case 9:
case 11:
numDias = 30;
break;
case 2:
if ( ((año % 4 == 0) && !(año % 100 == 0))
|| (año % 400 == 0) )
numDias = 29;
else
numDias = 28;
break;
}
System.out.println("Numero de Dias = " + numDias);
}
}

Ejercicios:

Hacer un programa que nos pida un numero del 1 al 10 y dependiendo de esto nos arroje una línea de * de la cantidad introducida.

Crear un conversar que tenga de pesos a dólares, kilogramos a libras, y metros a yardas. Que se muestre un pequeño menú.


Píldoras de Programación en Java: Ciclos

CICLO FOR


Descripción:  El método For en Java es uno de los más conocidos en el mundo de la programación pues nos ayuda a hacer cíclico alguna situación que necesitemos, en este caso,  el ejemplo usado es lo básico para hacerlo funcionar o correr de manera correcta. Su estructura se compone de la siguiente manera:

for(inicialización;  condición o límite ; incremento/decremento) {
código

}

Como vemos, no siempre el for nos puede ayudar para incrementar alguna variable, también para ir disminuyendo el valor de la misma.
En la inicialización se pondrá el valor donde queramos que inicie nuestra variable, por ejemplo en el caso del video iniciamos en 0, pero también podemos cambiarlo a 1, dependiendo del usuario.
En el límite o condición es nuestro “tope final” por así decirlo, es hasta donde queremos que nuestro for llegue a ciclarse.
Y bueno en el incremento/decremento como bien se dice es donde hacemos que el for vaya hacia delante o hacia atrás por decirlo de alguna manera.

Ejemplo:


Vamos a poner un ejemplo de como usar el for para poder realizar una tabla sencilla de multiplicar. Lo que nosotros queremos realizar es una tabla de multiplicar que vaya desde la tabla del 1 hasta la del 10. En este caso utilizaremos 2 for, el primero que contenga la variable j nos ayudara a contener los numeros de cada tabla, empezando desde el 1, y el segundo for nos ayudara a incrementar la numeración normal.

El primer for empezaría así

for (int j = 1; j <=10; j++) {

El segundo for seguiría así:

for (int i = 0; i < 11; i++) {

El código donde imprimiría lo que sería la tabla sería asi:

System.out.println( j + "*" + i + "=" + j * i );

el porque “ i “ inicia en 0 es algo que no afecta mucho si se modifica a 1 ya que la tabla empezaría en lugar de “1x0” en “1x1”, y bueno, el resultado queda de la siguiente manera:

Ejercicio:

Dado 2 enteros y un carácter: ancho, largo y símbolo, imprimir un rectángulo relleno con ese símbolo:
Ancho: 5
Largo: 3
Símbolo: *

*****
*****
*****

CICLO WHILE




Un ciclo while si lo traducimos al español quiere decir “mientras”, entonces al analizar bien este comportamiento nos da una idea que este ciclo realiza algo mientras no se cumpla alguna condición que haya puesto el usuario, pero para eso analicemos bien su estructura.

La estructura de while es así
inicialización
while(condición)
{
----código
----código
incremento/decremento
}

como vemos, no tiene mucha complejidad su estructura, lo único que difiere aquí es que por lo regular se tiene que declarar una variable antes, como lo vemos en el video, y es que como el for, digamos que es la inicialización. Como recomendación para hacer la condición del ciclo while, siempre traten de poner la variable primero de esta manera: 

i <=10

Yo lo hago así pues se me hace más fácil de entender el código por si tiene un error, ya que hay veces en que se suele poner al revés y si el programa no llega a correr bien puede que este sea un error y que el programa no lo haya compilado de la manera que queramos.

Ejemplo

Vamos a usar un ejemplo básico para usar el while, en este caso se trata de averiguar el factorial de un número que introduzca el usuario, pero por si alguno no sabía, el factorial de un número es el resultado de multiplicar los números que le anteceden, por ejemplo el número 4, su factorial es el número 24, esto es 1x2x3x4. Entonces nuestro código empezaría por declarar las variables a usar, en este caso solo son 3, una para guardar el resultado que se llamará “fact”, otra para guardar el número que el usuario introduzca y hasta donde se hará la multiplicación “n”, y el contador que registrará e igualara con la variable “n” para que el ciclo acabe.

El código quedaría de la siguiente manera:

Como vemos en el código se utilizo la clase Scanner para poder guardar el valor que el usuario introduce y se le asigna a n .
En la condición de la parte del while, vemos que la variable i tiene que ser menor a la variable n .
Lo siguiente en la parte del código va toda la parte matemática y lógica, el factorial vale 1, también la variable i , entonces se multiplican por si mismos y se sobre-escribe en la variable fact, para después aumentar la variable i a 2 y así sucesivamente hasta que i vale lo mismo que la variable n , es ahí donde el while termina y al final se imprime la variable fact. En la consola quedaría así:


Ejercicio


Hacer un programa que lea un número y que indique si es capicúa o no. Como nota, un número capicua es un numero “palindromo” que se lee igual de izquierda a derecha, o de derecha a izquierda. Como el 36763.

CICLO DO-WHILE

Do While vienen siendo otra forma de ciclar en el mundo de la programación, pero en este caso, Do While imprime a fuerzas algo mientras que el while no, en otras palabras se podría decir que primero realiza algo y después investiga.


Inicialización
do{

---código
---código
incremento/decremento;
}while(condición);


como vemos en la primera parte de do no lleva mas que un corchete, pero seguido dentro de ese corchete vemos que va el código, donde al final tiene que llevar un decremento o incremento. Todo esto vemos a entender que por ejemplo en while no se ejecuta nada si no cumple lo que tiene de condición, mientras que while lo ejecutará por lo menos una vez. 
En la parte inferior podemos ver que se encuentra ya la condición en si, donde evaluará si realmente es lo que esta buscando o no, y si no es, se volvera a repetir la sentencia.

Ejercicio: 

Pondremos un ejercicio muy sencillo de como descomponer un número e imprimirlo dígito a dígito, en este caso solo usaremos un número de 2 dígitos y de una vez tendremos declarado una variable que nos indicará que nuestro número es de 2 dígitos, ustedes en casa pueden experimentar y hacer que su programa encuentre la cantidad de dígitos que tiene el número introducido.
En el código de arriba podemos observar que la variable ceros es entera y tiene el número de 10 pues como ya se dijo, solo usaremos un número de 2 variables.
Lo siguiente fue obtener el número y guardarlo.
Dentro del do-while, primero se imprime la división entre el número dado(ej:23) y los ceros, en ese caso lo que se imprimirá será el 2.
Se obtiene el modulo o residuo de el número dado y será el 3
Se divide los ceros entre de 10 y da como resultado 1, que es lo que la condición busca y ya no vuelve a ciclarse.

Ejercicio:

Leer varios números hasta que se introduzca el 1, y después de que se introduzca el 1, que el programa ya imprima los números que se vayan introduciendo.