Ejercicios Resueltos de Programación en Java para Prácticas de Código
Ejercicios Resueltos de Java
A continuación, se presentan varios ejercicios prácticos de programación en Java corregidos y estructurados para facilitar su estudio y comprensión.
Ejercicio 1A: Control de Porcentajes de Pantanos
import java.util.*;
public class ejerc1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double[] p = new double[12];
int i;
for (i = 0; i < p.length; i++) {
System.out.print("Deme el porcentaje del pantano " + (i + 1) + ": ");
p[i] = sc.nextDouble();
}
double suma = 0, media;
for (i = 0; i < p.length; i++) {
suma = suma + p[i];
}
media = suma / p.length;
System.out.println("La media es de: " + media);
double max = -100000, min = 100000;
int posmax = 0, posmin = 0;
for (i = 0; i < p.length; i++) {
if (p[i] > max) {
max = p[i];
posmax = i;
}
if (p[i] < min) {
min = p[i];
posmin = i;
}
}
System.out.println("El pantano con un porcentaje más alto ha sido el: " + posmax);
System.out.println("El pantano con un porcentaje más bajo ha sido el: " + posmin);
}
}Ejercicio 1B: Capacidad y Ocupación de Pantanos
import java.util.*;
public class ejerc1b {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double[] capacidad = new double[7];
double[] agua = new double[7];
int i, cont = 0;
for (i = 0; i < capacidad.length; i++) {
System.out.print("Deme la cantidad del pantano " + (i + 1) + ": ");
agua[i] = sc.nextDouble();
System.out.print("Deme el máximo de capacidad del pantano " + (i + 1) + ": ");
capacidad[i] = sc.nextDouble();
}
System.out.println("Los porcentajes de ocupación son:");
for (i = 0; i < capacidad.length; i++) {
double porcentaje = (agua[i] / capacidad[i]) * 100;
System.out.println("Pantano " + (i + 1) + ": " + porcentaje);
if (porcentaje > 50) {
cont++;
}
}
System.out.print("Hay " + cont + " con más del 50%");
}
}Ejercicio 2A: Transformación de Frases (Leet Speak básico)
import java.util.*;
public class ejerc2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Deme una frase: ");
String frase = sc.nextLine();
frase = frase.toLowerCase();
int i;
for (i = 0; i < frase.length(); i++) {
char c = frase.charAt(i);
if (c == 'e') {
System.out.print('3');
} else if (c == 'i') {
System.out.print('1');
} else if (c == 'o') {
System.out.print('0');
} else if (c == 'a') {
System.out.print('4');
} else {
System.out.print(c);
}
}
}
}Ejercicio 2B: Separación de Caracteres Pares e Impares
import java.util.*;
public class ejerc2b {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String cadena;
System.out.print("Deme una frase: ");
cadena = sc.nextLine();
int i;
for (i = 0; i < cadena.length(); i++) {
if (i % 2 == 0) {
System.out.print(cadena.charAt(i));
}
}
System.out.println("");
for (i = 0; i < cadena.length(); i++) {
if (i % 2 != 0) {
System.out.print(cadena.charAt(i));
}
}
}
}Ejercicio 3A: Comprobación de Año Bisiesto
import java.util.*;
public class ejerc3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int anyo;
System.out.print("Deme el año: ");
anyo = sc.nextInt();
bisiesto(anyo);
}
static void bisiesto(int anyo) {
if (anyo % 4 == 0 && anyo % 100 != 0 || anyo % 400 == 0) {
System.out.print(anyo + " es bisiesto");
} else {
System.out.print(anyo + " no es bisiesto");
}
}
}Ejercicio 3B: Cálculo de Edad a partir de Fechas
import java.util.*;
public class ejerc3b {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Deme la fecha de nacimiento día, mes y año: ");
int dia = sc.nextInt();
int mes = sc.nextInt();
int anyo = sc.nextInt();
System.out.print("Deme la fecha actual día, mes y año: ");
int diahoy = sc.nextInt();
int meshoy = sc.nextInt();
int anyohoy = sc.nextInt();
int n = edad(dia, mes, anyo, diahoy, meshoy, anyohoy);
System.out.print("Edad " + n + " años");
}
static int edad(int d, int m, int a, int dh, int mh, int ah) {
int resta = ah - a;
if (mh < m || (mh == m && dh < d)) {
resta--;
}
return resta;
}
}