Ejercicios Resueltos de Programación en Java para Prácticas de Código

Informática y Telecomunicaciones5,36 KB

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;
    }
}

Descargar

PDF Word HTML