Ejercicios


Programación Java: Ejercicios Resueltos


Ejercicios Básicos iniciales para principiantes


Puedes encontrar más ejercicios para seguir practicando en este libro.


Contiene ejercicios resueltos sobre los conceptos básicos del lenguaje java: Declaración de variables, literales, tipos de datos, operadores, crear expresiones algebraicas correctas, etc.

Las soluciones de los ejercicios incluyen una explicación detallada sobre cómo se ha resuelto.

El contenido del libro es una recopilación de ejercicios realizados en mis clases de Programación en los ciclos formativos de grado superior Desarrollo de aplicaciones web y Desarrollo de aplicaciones multiplataforma.




 
 
 
 
 

 

 



Ejercicios Básicos con Estructura Secuencial







 
 
 

Ejercicios Básicos con Estructura Condicional



 
 




 
 

 

Ejercicios Básicos con Estructura Iterativa o Repetitiva
 
 
 
 

Ejercicios Generales





 
 








 
Ejercicios de bucles anidados


1. Mostrar los números perfectos entre 1 y 1000.

2. Leer un número N y calcular el factorial de los números desde 0 hasta N.

3. Leer un número N y calcular la suma de los factoriales de los números desde 0 hasta N.

4. Programa que muestre en lineas separadas lo siguiente: ZYWXVUTSRQPONMLKJIHGFEDCBA, YWXVUTSRQPONMLKJIHGFEDCBA, WXVUTSRQPONMLKJIHGFEDCBA, ...., DCBA, CBA, BA, A.

5. Mostrar un contador de 5 dígitos. En lugar del dígito 3 se debe mostrar E

6. Mostrar los números primos desde 2 hasta N

Ejercicios para realizar trazas de código

 


Ejercicios con Arrays











Ejercicios con ArrayList






Ejercicios sobre cadenas de caracteres

 
 




Ejercicios sobre Recursividad









Ejercicios sobre ficheros y directorios. Clase File




Ejercicios sobre ficheros de texto












54 comentarios:

  1. Excelente blog,a programar en Java.

    ResponderEliminar
  2. ayuda.............un numero pentagonal esta definido como n(3n-1)/2 para n=1,2,3... y los primeros numeros pentagonales son 1,5,12,22,... escribe un programa que muestre los primeros numeros pentagonales con el siguiente encabezado public static int getNumPentagonal(int n)

    ResponderEliminar
  3. Hola, he programado en Java y la verdad es un lenguaje súper padre, principalmente porque es prácticamente la base de todo, sabiendo ya programar en Java, es muchísimo muy fácil que alguien o alguna empresa te contrate diciendo que programas en Java.
    Obviamente, tienes que programar en muchos otros lenguajes para que sea facilísimo conseguir trabajo, pero una vez aprendiendo Java, programar se te hará la cosa más sencilla. Para ti que estas leyendo esto, te deseo suerte y espero que sigas siendo un excelente programador o desarrollador.

    ResponderEliminar
  4. ¡Mil gracias!
    Me están viniendo genial estos ejercicios, estoy aprendiendo mucho más rápido y de forma más sólida desde que uso tu blog para complementar los apuntes. En serio, gran trabajo compañero :)

    ResponderEliminar
  5. Una buena paguina sobre que da los ejemplos explica de unas buenas bases de programacion en Java para fundamentar las raizes que se tiene ya con Java felizidades sigue asi

    ResponderEliminar
  6. Hola un favor me pueden ayudar con un ejercicio

    2. Elabore un programa en JAVA, que permita sumar los n primeros términos de la siguiente serie
    S = 51 + 71 – 112 – 133 + 175 + 198 – 2313 – 2921 + 3134 + 3355 – ...

    ResponderEliminar
  7. Hacer un programa para ingresar el nombre de un archivo de Texto y luego un carácter y muestre todas las posiciones dentro del archivo en las que se encuentra.

    ResponderEliminar
  8. ayudenmee profa

    Se tiene un circuito en serie:, se requiere saber la potencia de dicho circuito.

    Para ello se ingresa el voltaje y las resistencias

    Para obtener el valor total de las resistencias debe de generarse la función
    hallartotalresistencia(cantidad) donde se pasará un parámetro entero, de
    acuerdo a la cantidad debe de ir sumando el valor de las resistencias.

    Luego obtener la corriente para poder hallar la potencia.

    Recordando P=VxI I=V/R

    ResponderEliminar
    Respuestas
    1. import java.util.Scanner;
      public class Circuito{
      public static void main(String[] args) {
      double corriente=0;
      double potencia=0;
      Scanner sc = new Scanner(System.in);
      System.out.println("Introduce la cantidad de resistencias");
      double resistencias=sc.nextDouble();
      System.out.println("Introduce el voltaje");
      double voltaje=sc.nextDouble();

      /*Declaramos una variable para sumar la cantidad de resistencias,
      * si lo declaramos dentro del bucle, no podriamos
      * acceder fuera del bucle a la suma de las las resistencias.
      * Esto es por el ambito.
      */
      double sumaResistencia=0;
      for (double i=0;i<resistencias;i++){

      System.out.println("Introduce el valor de la resitencia "+(i+1));
      double resistencia=sc.nextDouble();


      sumaResistencia=sumaResistencia+resistencia;
      }
      corriente=voltaje/sumaResistencia;
      potencia = voltaje*corriente;
      System.out.println("el valor de la la corriente es "+ corriente +" Ampers");
      System.out.println("el valor de la la potencia es "+ potencia+" Watts");


      }
      }

      Eliminar
  9. Buenas noches por favor alguien me podria colaborar con el siguiente ejercicio Ana va a la universidad cada A días, Bernardo cada B días, y Carlos cada C días. Si todos van a la universidad hoy, ¿dentro de cuántos días irán nuevamente los tres?

    ResponderEliminar
  10. Voltear un cuadrado de letras hacia la izquierda o derecha hasta pulsar salir.
    Ejemplo de ejecución:

    A B

    C D
    Elije una opción(d-derecha, i-izquierda, s-salir):d
    C A

    D B
    Elije una opción(d-derecha, i-izquierda, s-salir):s


    El cuadrado imaginario formado por las letras gira en sentido de las agujas del reloj o el contrario según lo que se elija.

    ResponderEliminar
  11. Urgente!! Crea un programa que pida un número por teclado y muestre un mensaje diciendo si el número es o no primo. Como pista, debes comprobar que el número no es divisible entre ningún número entre 2 y el número-1. Se hace con eclipse

    ResponderEliminar
  12. Buenísimo. Estoy haciendo un curso de programación y esto es exactamente lo que me hacía falta para completarlo.

    Muchas gracias

    ResponderEliminar
  13. hola como es este ejrcio
    Dados 3 números enteros de 0 a 100, se pide indicar:
    1) si hay dos iguales
    2) si los 3 números son mayores a 50
    3) si alguno de los números es menor a 10
    el codigo

    ResponderEliminar
  14. Me pueden ayudar con este problema por favor , no me sale.
    Pedir 10 números al usuario e imprimirlos en forma ascendente. (utilizar un arreglo para el ingreso de los datos).

    ResponderEliminar
    Respuestas
    1. No se acostumbre a que le resuelvan los problemas, que le ayuden con las dudas, pero no que le hagan la tarea o no prendera.
      Su problema es muy sencillo, solo declare el array y rellénelo con un for y con un JOptionPane pide los números, los ordena con un Array.sort y los imprime con un for each.

      Eliminar
  15. Holaaa todos. Podrian ayudar me con este ejercicio, gracias. capturar n numeros aleatorios del 1 al 100 en un arreglo sin repetir, luego
    ordenarlos con el metodo shell y mostrar los numeros generados

    ResponderEliminar
  16. Realizar un programa en el cual el usuario deberá introducir la hora, minuto y segundo. Y deberá mostrar la hora un segundo después en el sig. Formato. 12:30:31
    Me podrían ayudar porfa...

    ResponderEliminar
  17. Una empresa tiene 15 tiendas y necesita crear un algoritmo que lea las ventas mensuales de los 15 tiendas con valores aletarios de 1000-5000. Calcule la media de ventas y obtenga un listado de los almacenes cuyas ventas mensuales son superiores a la media. Muestre la mayor y menor venta.

    ResponderEliminar
  18. ayuda es para un ejercicio de java
    Crear un programa en Java que pida al usuario que ingrese números con la condición de que el siguiente sea siempre mayor al anterior. Cuando el usuario haya ingresado un número que no cumpla la condición anterior o luego de haber ingresado 10 números, dejar de pedir números e imprimir cuántos múltiplos de 3 se ingresaron en total.

    ResponderEliminar
  19. Ingresá un número por teclado en el rango de 0
    a 99 y determiná si tiene uno o dos dígitos.

    ResponderEliminar
  20. Ayudaaa!!! me ayudan con este programa
    1. Leer un número entre (1 y 9,999,999,999,999)
    2. El programa debe indicar cuantos dígitos componen el número
    3. El programa debe escribir el número leído
    4. El programa debe escribir el número en forma inversa

    Ejemplo: se lee 37914
    Se indica que tiene 5 dígitos
    y se escribe que el número leído es 37914 y en forma inversa 41973

    ResponderEliminar
  21. Buenas noches disculpe me puede ayudar con este ejercicio:
    Ingresar dos números enteros y realizar las operaciones básicas. Debe permitir seleccionar desde un menú las opciones.
    1.suma
    2.Resta
    3. Multiplicacion
    4.Division

    ResponderEliminar
  22. una ayuda

    Realiza un código en lenguaje java para resolver el siguiente
    ejercicio

    • Si a, b y c son variables enteras con valores a= 8, b= 3, c= -5, y d es
    un valor asignado por el usuario, determina el valor de las siguientes
    expresiones aritméticas:

    (2 * b + 3 * (a – c)) /d

    ResponderEliminar
  23. Hola buenas noches, estoy iniciando en esto de la programación el Java NetBeans, quisiera saber si me podrían orientar o ayudar como hacer estos programas por favor.

    Programa 1. Define un arreglo de 10 posiciones
    1. llénalo con valores arbitrarios.
    2. Imprime los valores
    3. Imprime los siguientes datos:
    a) Suma de todos los valores
    b) el valor máximo
    c) el valor mínimo
    d) el promedio de todos los valores

    Programa 2: Teniendo un vector1 con 10 valores arbitrarios:
    a) Crear vector2 con los números elevados al cuadrado de vector1, e imprimirlos en pantalla
    b) Crear vector3 con el cubo de los números de vector1 e imprimirlos en pantalla

    Programa 3: Crear un vector llamado radio que contenga el radio de 12 círculos.
    y en otro vector calcular y asignar el área de cada radio.
    Imprimirlo en pantalla.

    ResponderEliminar
    Respuestas
    1. public class Vector {
      public static void main(String[] args) {
      int[] vector1 = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50};
      int[] vector2 = new int[vector1.length];
      int[] vector3 = new int[vector1.length];

      for (int i = 0; i < vector1.length; i++) {
      vector2[i] = vector1[i] * vector1[i];
      vector3[i] = vector1[i] * vector1[i] * vector1[i];
      }

      System.out.print("Vector2: ");
      for (int i = 0; i < vector1.length; i++) {
      System.out.print(vector2[i] + " ");
      }
      System.out.println();

      System.out.print("Vector3: ");
      for (int i = 0; i < vector1.length; i++) {
      System.out.print(vector3[i] + " ");
      }
      System.out.println();
      }
      }

      Salida:
      Vector2: 25 100 225 400 625 900 1225 1600 2025 2500
      Vector3: 125 1000 3375 8000 15625 27000 42875 64000 91125 125000

      Eliminar
  24. por favor ayuda!!!!
    En este problema, debe leer un valor entero y calcular el menor número posible de billetes en los que se puede descomponer el valor. Los posibles billetes son 100, 50, 20, 10, 5, 2 e 1. Imprima el valor leído y la lista de billetes.

    ResponderEliminar
  25. : Hacer un programa que imprima la suma de
    todos los números del 1 al 100

    ResponderEliminar
  26. Me pueden ayudar.
    Hacer un programa que calcule la media de
    un conjunto de números positivos introducidos por teclado. A
    priori, el programa no sabe cuántos números positivos se
    introducirán. El usuario indicará que ha terminado de
    introducir los datos cuando introduzca un número negativo.
    porfa necesito ayuda

    ResponderEliminar
  27. Ejercicio #6: Crear un proyecto en Java con los siguientes datos:
    Enunciado:
    Desarrollar un proyecto en Java que permita ingresar 5 números, 2 enteros y 3 decimales. Se deberá realizar lo siguiente con MENU DE OPCIONES:
    Se deberán realizar el llamado de los siguientes métodos dentro de la clase principal:
    Un método que permita calcular el promedio de todos los valores (retorna).
    Un método que permita calcular la siguiente formula. (A2 + C2 * B5 ) + √(E*D) (No retorna)
    Un método que permita calcular la siguiente formula. √E * (B3 + A3) + (B5 + C3) (retorna)
    Un método que permita calcular la siguiente formula: seno (C) + coseno (A). (No retorna)
    Un método que permita calcular la siguiente formula: √(A+5) + √C + √B + √(D-E) (retorna).

    AYUDA

    ResponderEliminar
  28. un banco paga a sus ahorradores un interes del 1.55 mensual sobre el monto ahorrado. teniendo como dato de entrada el saldo inicial del ahorrista determnie el saldo final despues de determinada cantidad de dias. necesito hacerlo en Java...

    ResponderEliminar
  29. ayuda 1. Solicite al usuario que digite 4 números, ordénelos de menor a mayor e indique cuál es el mayor de los 4 números, cual es el menor de los 4 números, indique el promedio de los 4 números, además debe indicar cuantos números pares existen y en qué posición se encuentran. Imprimir los 4 números para comprobar el resultado. Use vectores.

    ResponderEliminar
  30. Para cierta aplicación informática se necesitan codificar (cifrar) números enteros.
    Elabore un ALGORITMO que solicite al usuario un número entero positivo de tres dígitos, el cual
    necesita ser codificado. Considere que:
    a) Si el dígito de dicho número es 2, 5 o 7, se le debe sumar la unidad.
    b) Si el dígito es 1, 4, 8 o 9, se le resta la unidad.
    c) Los dígitos restantes no se alteran.

    Ayuda por favor

    ResponderEliminar
  31. Escribir un programa para contar votaciones de un proceso electoral. Deberá obtener la lista de
    candidatos y guardarlos en arreglos.
    - Presentar un menú de opciones para seleccionar a un candidato.
    - Mostrar el candidato ganador
    - Mostrar un listado con el número de votos y porcentajes obtenidos.
    No utilizar listas (ArrayList, Hashtable, Vector, ...)

    AYUDAAAAAA

    ResponderEliminar
  32. Un empleado de la tienda realiza N ventas durante el día, se requiere saber
    cuántas de ellas fueron mayores a $1000, cuántas fueron mayores a $500 pero
    menores o iguales a $1000, y cuántas fueron menores o iguales a $500. Además,
    se requiere saber el monto de lo vendido en cada categoría y de forma global.
    Realice un programa que permita determinar lo anterior.

    ResponderEliminar
  33. ayuda, Diseñar un programa que sume la serie de números 2+6+12+20+30+42+56+…10 100

    ResponderEliminar
  34. Programa que solicite al usuario un número entero y muestre por pantalla un triángulo rectángulo como el de más abajo.

    1
    3 1
    5 3 1
    7 5 3 1
    9 7 5 3 1

    ResponderEliminar
  35. ayuda
    realizar un programa que lea N datos
    y de los cuales calcule mediante un menu
    1.- Numero MAYOR y MENOR
    2.- ULTIMO y ANTEPENULTIMO dato ingresado
    3.- cantidad de primos
    4.- promedio de impares
    5.- cantidad de multiplos de 5
    6.- cantidad de pares
    7.- ordenar datos de menor a mayor

    ResponderEliminar
  36. Crear una matriz 4x4.Llenarla matriz de manera que, si los índices de los elementos son iguales, se almacena un
    8 y de lo contrario, se almacena un 0. Mostrar en pantalla la Matriz Identidad de 4X4

    ResponderEliminar
  37. alguien que me pueda ayudar con este ejercicio

    En un triángulo rectángulo, el cuadrado de la longitud de un lado es igual a la suma de los cuadrados de las longitudes de los otros dos lados. Escriba un programa que invite al usuario a ingresar las longitudes de tres lados de un triángulo y luego que de salida a un mensaje indicando si el triángulo es un rectángulo.

    ResponderEliminar
  38. ayudaaa
    Realizar un programa que muestre los intereses de Q.5000.00 si sabemos que a los 3 meses es el 2%, a los 6 meses el 5% y a los 12 meses el 11%. Muestre los intereses ganados segun los meses que ingrese el usuario.

    ResponderEliminar
  39. AYUDAAA
    Se lee desde teclado información de personas. De cada persona se lee: DNI, apellido y
    nombre, ciudad natal y fecha de nacimiento. La lectura finaliza cuando llega una persona con
    DNI 0 (cero) o cuando se han leído 500 personas. Informar:
    A. Apellido y nombre de aquellas personas nacidas en “Arrecifes” y cuyos DNI poseen
    menos dígitos impares que pares.
    B. La cantidad total de personas leídas.

    ResponderEliminar
  40. Porfavor me ayudarían.

    Una institución educativa le paga a sus profesores $200 la hora y le hace un descuento del 5% por concepto de caja de ahorro.Determine el monto del descuento y el monto total a pagar al profesor.

    ResponderEliminar
  41. ayuda por favor, tengo que realizar esto en netbeans
    Realizar un método en java que calcule la suma de la siguiente serie aritmética para n términos, los guarde en una lista ligada e imprima la lista ligada: 2, 4, 8, 16, 32, 64…n.
    Nota: para el método debes hallar contador de frecuencia y orden de magnitud.

    ResponderEliminar
  42. Hola, me ayudan por favor?
    lea dos números (a) y (b) enteros positivos. Calcular e imprimir la suma de los múltiplos de (a) comprendidos entre ellos.
    Gracias!!

    ResponderEliminar
  43. Por favor ayudeme con una codificación y diagrama de flujo. Por favor:
    Utilizando diagramas de flujo, crea un minijuego en el que el ordenador elija un número aleatorio comprendido entre 0 y 100 para que el usuario intente adivinarlo.

    Cada vez que el usuario haga un intento le daremos pistas de si el número que busca es más alto o más bajo que el que ha escrito, hasta que acierte o escriba la palabra FIN para terminar el juego.

    Para representar la obtención del número aleatorio escribiremos la siguiente instrucción al comienzo del diagrama:

    n = aleatorio(0,100)
    A partir de ese momento supondremos que en n hay un valor elegido por el ordenador en el rango [0,100].

    Gracias por su ayuda. Enviar correo henryjrruiz@gmail.com

    ResponderEliminar
  44. Buenas tardes.
    Necesito que me ayudes .porfavor
    .2. Año bisiesto A través del uso de las condiciones que ofrece “if”, se muestra como es el procedimiento para saber si un año es bisiesto o no.

    ResponderEliminar
    Respuestas
    1. Calcular si un año es bisiesto está resuelto en esta entrada https://puntocomnoesunlenguaje.blogspot.com/2022/04/calcular-bisiesto-java.html

      Eliminar
  45. Se tiene los nombres de 3 estudiantes y cada estudiante tiene 2 notas. Calcule el promedio de cada estudiante. Imprima el nombre, las 2 notas y el promedio de cada estudiante.
    Nombre Notas Promedio
    Erasmo 70 100
    Cristel 100 100
    Jonathan 90 75

    Es un problema de arreglo de dos dimensiones, ayuda

    ResponderEliminar
  46. Alguien me podría ayudar con este ejercicio?

    Se quiere construir una aplicación para administrar un club social. El club contara con un máximo de 35 socios.
    Esta aplicación permite manejar los socios, sus consumos y las personas autorizadas por cada socio para que pueda entrar y usar los servicios del club
    De cada socio se conoce:
    - La cédula. No puede haber dos socios con la misma cédula.
    (verificar antes de hacer afiliación)
    - El nombre.
    - Los fondos disponibles.
    - El tipo de suscripción. Puede ser VIP o Regular. En el club puede haber máximo 3 socios VIP
    - Las facturas sin pagar. (PARA UN MAXIMO DE 20)
    - La lista de personas autorizadas. (PARA UN MAXIMO DE 10)
    Cuando un nuevo socio se afilia al club, debe contar con un fondo inicial para cubrir sus consumos y los de las personas afiliadas, El monto del fondo inicial se determina según el tipo de suscripción del socio: los socios regulares con $50.000 y los socios VIP con $100.000. Los socios pueden aumentar sus fondos, pero tienen una restricción máxima, que también depende del tipo de suscripción, de la siguiente manera: regulares $1´000.000 y VIP $5´000.000.
    Una factura se genera cada vez que un socio o uno de sus asociados hacen un consumo. Para hacer un consumo, el socio debe contar con fondos suficientes para pagarlo. Una factura sólo puede ser pagada si el socio ene fondos suficientes para hacerlo. Al pagar la factura, esta es eliminada de la lista de facturas sin pagar y se descuenta el valor de los fondos del socio.
    De cada factura se conoce:
    - El concepto
    - El valor
    - El nombre del socio o de la persona autorizada que generó el consumo.
    Cada socio puede agregar personas autorizadas a su lista, siempre y cuando cuente con fondos. Adicionalmente puede eliminar un autorizado de la lista, si este no ene una factura sin pagar a su nombre.
    La aplicación debe permitir:
    1. Afiliar un socio al club.
    2. Registrar una persona autorizada por un socio.
    3. Pagar una factura.
    4. Registrar un consumo en la cuenta de un socio
    5. Aumentar fondos de la cuenta de un socio
    6. En la clase Club definir un método denominado EliminarSocio, este recibe como parámetro la cédula del socio y retorna un valor booleano indicando que el socio fue eliminado.
    Tenga en cuenta que en este método se pueden presentar 4 tipos de errores que son:
    • Que no exista un socio con la cédula recibida como parámetro.
    • Que el socio sea de po VIP. No se pueden eliminar socios de po VIP.
    • Que el socio tenga facturas pendientes de pago. No se pueden eliminar socios con facturas pendientes de pago.
    • Que el socio tenga más de un autorizado. No se puede eliminar un socio con más de un autorizado.
    7. En la clase Club número el método debe retornar el valor correspondiente al total de consumos del socio de dicha cédula. Si no se encuentra una afiliación para este número de cédula, se maneja la condición de error que indica la situación.
    Nota: cuando no existan consumos para la afiliación de la cédula dada, el método debe retornar 0.

    ResponderEliminar
  47. alguien ayudeme desarrollando estos 6 ejercicios java porfavor
    1. Programa que determine si un número ingresado es un número primo.
    2. Escribir un programa que imprima por pantalla todas las fichas de dominó, de una por
    línea y sin repetir utilizando ciclos.
    3. Escribir un programa que cuente cuántas palabras son verbos (en infinitivo) en un texto
    ingresado por el usuario. Recuerde que los infinitivos terminan TODOS en una vocal + “r”.
    4. Escribir un programa que pida una palabra y cuente el número de vocales y consonantes
    que contiene.
    5. Escribir un programa que sirva para generar códigos de usuario por el procedimiento
    siguiente: Tiene que leer el nombre y los dos apellidos de una persona y devolver un
    código de usuario formado por las tres primeras letras del primer apellido, las tres
    primeras letras del segundo apellido y las tres primeras letras del nombre. Por ejemplo, si
    la cadena de entrada es: “JORGE GUIDO SANTAMARIA” debe devolver “GUISANJOR”.
    6. Programa que simule el juego de doble o nada que permita ir jugando y apostando hasta
    que el jugador decida abandonar el juego. El programa debe sacar por pantalla el número
    de jugadas y el total ganado por el jugador (si ha perdido debe ser una cantidad negativa)

    ResponderEliminar