import java.time.LocalTime; import java.time.Month; import java.time.YearMonth; import java.time.MonthDay; public class FechasYHoras { public static void main(String[] args) { int ano, mes; ano = 1990; mes = 9; YearMonth mes1 = YearMonth.of(ano, mes); System.out.printf("Este mes es %s y tiene %d días%n", mes1.getMonth(), mes1.lengthOfMonth()); MonthDay dia=MonthDay.of(Month.FEBRUARY, 29); System.out.printf("El día %s %s %s es válido para el año 2010%n" , dia.getDayOfMonth() ,dia.getMonth(), dia.isValidYear(2)?"":"no"); //la respuesta será NO LocalTime justoAhora = LocalTime.now(); System.out.printf("En este momento son las %d horas con %d minutos y %d segundos\n", justoAhora.getHour(), justoAhora.getMinute(), justoAhora.getSecond()); } }
Sencillos ejemplos de programas (ejercicios) JAVA en RETALES DE JAVA
Mostrando entradas con la etiqueta .printf(). Mostrar todas las entradas
Mostrando entradas con la etiqueta .printf(). Mostrar todas las entradas
Ejemplos de Fechas y horas en JAVA java.time...
Array Bidimensional de enteros Ejemplo JAVA
Ejemplo de como recorremos un array bidimensional en java mediante un bucle for, mientras un array unidimensional solo tenia una fila y cada valor podría corresponder con una columna, aquí hay varias filas y varios valores por columnas por explicarlo de alguna manera. int[][] num = new int [4][2] <-- significaría que existen 4 filas con 2 valores en cada fila, osea 2 columnas. También se puede interpretar al revés. En este programa también utilizamos Thread.slepp(500) para retardar medio segundo la ejecución/escritura de cada elemento.
public class ArrayBidimensional { public static void main(String[] args) throws InterruptedException{ int fil, col; int[][] num = {{1,2},{35,2},{89,69}}; for(fil = 0; fil < 3; fil++){ System.out.print("Fila:"+fil); for(col = 0; col < 2; col++){ System.out.printf("%8d", num[fil][col]); Thread.sleep(500); } System.out.println(); } } }
Quiniela al Azar, 1X2 JAVA
Programa que emula a una quiniela, con las variables típicas de 1X2 en cada una de las 15 filas.
public class QuinielaAzar { public static void main(String[] args) { int cont = 0; do{ int opciones = (int)(Math.random()*3); String opc[] ={"[1][ ][ ]","[ ][X][ ]","[ ][ ][2]"}; System.out.printf("%2d LOC - VIS %s %n", cont,opc[opciones]); cont++; }while(cont<=15); } }
Inicializar posiciones del array manualmente mediante indices. JAVA
En este ejemplo definimos un array de 15 números (desde el indice 0 hasta el 14 ambos incluidos, siempre empiezan en el indice 0), inicializamos algunas posiciones del array manualmente mediante el indice, y las que dejamos sin inicializar al recorrer el array mediante un bucle for vemos que al imprimirlos por pantalla los ha inicializado automáticamente en 0.
public class Array_Ej2 { public static void main(String[] args) { //Definimos un array de 15 numeros int[] num = new int[15]; num[0] = 10; //El indice [0] es la primera posicion num[1] = -7; num[4] = 5; num[6] = 5; num[8] = 5; num[9] = 69; for (int i = 0; i < 15; i++) { System.out.printf("num[%2d]: %d\n", i, num[i]); } } }
Ejemplo printf con String
Ejemplo para colocar una lista de nombres y apellidos en modo columna mediante printf() y que salgan colocados uno debajo de otro colocados
import javax.swing.JOptionPane; public class EjPrintf3 { public static void main(String[] args) { String nombre, apellido; int contador=1; System.out.printf("%20s %20s %n", "Nombre", "Apellido"); //variable boolean "introducir" inicializada en true //para crear un bucle hasta que sea false boolean introducir = true; while(introducir){ nombre = JOptionPane.showInputDialog("Introduce el nombre "+ contador+" de 5"); apellido = JOptionPane.showInputDialog("Introduce el apellido "+ contador+" de 5"); //%20s => 20 caracteres y alineado a la derechaa System.out.printf("%20s %20s %n", nombre,apellido); // contador para salir del bucle cuando registre 5 nombres contador++; if(contador==6){ introducir=false; } } } }
Ejemplo printf con numero entero
Ejemplo sencillo de utilizacion de printf, recordar %d para decirle que es entero, y cuando ponemos %n es para el salto de linea
public class EjPrintf2 { public static void main(String[] args) { int entero = 359; // %d <- numero entero // sin %n no hay salto de linea // se imprimen los dos numeros seguidos System.out.printf("%d", entero); System.out.printf("%d", entero); // %n <- salto de linea System.out.printf("%n%d %n", entero); System.out.printf("%d %n", entero); } }
Ejemplos de printf con decimales
Un repaso de como se utiliza printf mostrando determinados decimales.
public class EjPrintf1 { public static void main(String[] args) { //% <- indica que se escribira un valor //.2 <- indica el número de decimales //f <- indica que es de tipo float o double //%n <- es un salto de linea, equivalente a \n System.out.printf("%.2f %n", 12.3698); // printf realiza un redondeo para mostrar los // 2 decimales que le hemos indicado // En el primer caso saldrá 12,37 y en el segundo // 12,34 System.out.printf("%.2f %n", 12.3438); // otro ej. con 3 decimales System.out.printf("%.3f %n", 12.3698); // ej. con variable mostrando 2 decimales // la salida será 12,70 double variable1 = 12.6987; System.out.printf("%.2f %n", variable1); } }
Unidades del ordenador, mostrando el espacio libre y el tamaño de las mismas.
Este es un programa que muestra todas las unidades de disco del ordenador e indica en cada una de ellas el tamaño total, y el espacio libre, para verlo con mas claridad probar introduciendo alguna memoria USB para ver que también la debe reconocer (si el sistema operativo la reconoce claro).
import java.io.File; public class Unidades { public static void main(String[] args) { File [] unidades = File.listRoots(); System.out.printf(" %20s %20s %n" , "Tamaño Total", "Tamaño disponible"); for(File f : unidades){ System.out.print(f); System.out.printf("%20s %20s %n", f.getTotalSpace(), f.getFreeSpace()); } } }
Suscribirse a:
Entradas (Atom)