Ejercicios propuestos y resueltos básicos Java

Hola a todos, hoy os dejo una serie de ejercicios de Java para practicar todo aquello que hemos explicado en anteriores posts.

Todos los ejercicios que proponemos están resueltos en este mismo post, intenta hacerlo por ti mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

El nombre de la aplicación es de tu elección, excepto en el ejercicio 25. Crea un proyecto en Java por ejercicio. Colocare en las soluciones algunos comentarios para que sean más fácilmente entendible.

Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas también puedes usar el depurador.

Aquí tienes todos los posts relacionados con Java:

Curso Java

Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este post o enviándonos un e-mail a administrador@discoduroderoer.es

En la página «auriculares-inalambricos.es» podrás obtener auriculares sin cables con los que escuchar música mientras realizas nuestros ejercicios :D.

1) Declara dos variables numéricas (con el valor que desees), muestra por consola la suma, resta, multiplicación, división y módulo (resto de la división).

Spoiler Inside SelectShow>

2) Declara 2 variables numéricas (con el valor que desees), he indica cual es mayor de los dos. Si son iguales indicarlo también. Ves cambiando los valores para comprobar que funciona.

Spoiler Inside SelectShow>

3) Declara un String que contenga tu nombre, después muestra un mensaje de bienvenida por consola. Por ejemplo: si introduzco «Fernando», me aparezca «Bienvenido Fernando».

Spoiler Inside SelectShow>

4) Modifica la aplicación anterior, para que nos pida el nombre que queremos introducir (recuerda usar JOptionPane).

Spoiler Inside SelectShow>

5) Haz una aplicación que calcule el área de un círculo(pi*R2). El radio se pedirá por teclado (recuerda pasar de String a double con Double.parseDouble). Usa la constante PI y el método pow de Math.

Spoiler Inside SelectShow>


6) Lee un número por teclado e indica si es divisible entre 2 (resto = 0). Si no lo es, también debemos indicarlo.
Spoiler Inside SelectShow>

7) Lee un número por teclado y muestra por consola, el carácter al que pertenece en la tabla ASCII. Por ejemplo: si introduzco un 97, me muestre una a.

Spoiler Inside SelectShow>

8) Modifica el ejercicio anterior, para que en lugar de pedir un número, pida un carácter (char) y muestre su código en la tabla ASCII.

Spoiler Inside SelectShow>

9) Lee un número por teclado que pida el precio de un producto (puede tener decimales) y calcule el precio final con IVA. El IVA sera una constante que sera del 21%.

Spoiler Inside SelectShow>

10) Muestra los números del 1 al 100 (ambos incluidos). Usa un bucle while.
Spoiler Inside SelectShow>

11) Haz el mismo ejercicio anterior con un bucle for.

Spoiler Inside SelectShow>

12) Muestra los números del 1 al 100 (ambos incluidos) divisibles entre 2 y 3. Utiliza el bucle que desees.

Spoiler Inside SelectShow>

13) Realiza una aplicación que nos pida un número de ventas a introducir, después nos pedirá tantas ventas por teclado como número de ventas se hayan indicado. Al final mostrara la suma de todas las ventas. Piensa que es lo que se repite y lo que no.

Spoiler Inside SelectShow>

14) Realiza una aplicación que nos calcule una ecuación de segundo grado. Debes pedir las variables a, b y c por teclado y comprobar antes que el discriminante (operación en la raíz cuadrada). Para la raíz cuadrada usa el método sqlrt de Math. Te recomiendo que uses mensajes de traza.

Spoiler Inside SelectShow>

15) Lee un número por teclado y comprueba que este numero es mayor o igual que cero, si no lo es lo volverá a pedir (do while), después muestra ese número por consola.

Spoiler Inside SelectShow>




16) Escribe una aplicación con un String que contenga una contraseña cualquiera. Después se te pedirá que introduzcas la contraseña, con 3 intentos. Cuando aciertes ya no pedirá mas la contraseña y mostrara un mensaje diciendo «Enhorabuena». Piensa bien en la condición de salida (3 intentos y si acierta sale, aunque le queden intentos).

Spoiler Inside SelectShow>

17) Crea una aplicación que nos pida un día de la semana y que nos diga si es un dia laboral o no. Usa un switch para ello.

Spoiler Inside SelectShow>

18) Pide por teclado dos número y genera 10 números aleatorios entre esos números. Usa el método Math.random para generar un número entero aleatorio (recuerda el casting de double a int).

Spoiler Inside SelectShow>
19) Pide por teclado un número entero positivo (debemos controlarlo) y muestra  el número de cifras que tiene. Por ejemplo: si introducimos 1250, nos muestre que tiene 4 cifras. Tendremos que controlar si tiene una o mas cifras, al mostrar el mensaje.
Spoiler Inside SelectShow>


20) Pide un número por teclado e indica si es un número primo o no. Un número primo es aquel solo puede dividirse entre 1 y si mismo. Por ejemplo: 25 no es primo, ya que 25 es divisible entre 5, sin embargo, 17 si es primo.
Un buen truco para calcular la raíz cuadrada del numero e ir comprobando que si es divisible desde ese numero hasta 1.
NOTA: Si se introduce un numero menor o igual que 1, directamente es no primo.
Spoiler Inside SelectShow>
21) Muestra los números primos entre 1 y 100.
Spoiler Inside SelectShow>

22) Del siguiente String «La lluvia en Sevilla es una maravilla» cuenta cuantas vocales hay en total (recorre el String con charAt).

Spoiler Inside SelectShow>
23) Reemplaza todas las a del String anterior por una e.
Spoiler Inside SelectShow>

24) Recorre el String del ejercicio 22 y transforma cada carácter a su código ASCII. Muestralos en linea recta, separados por un espacio entre cada carácter.

Spoiler Inside SelectShow>
25) Crea una aplicación llamada CalculadoraPolacaInversaApp, nos pedirá 2 operandos (int) y un signo aritmético (String), según este último se realizara la operación correspondiente. Al final mostrara el resultado en un cuadro de dialogo.

Los signos aritméticos disponibles son:

  • +: suma los dos operandos.
  • -: resta los operandos.
  • *: multiplica los operandos.
  • /: divide los operandos, este debe dar un resultado con decimales (double)
  • ^:  1º operando como base y 2º como exponente.
  • %:  módulo, resto de la división entre operando1 y operando2.
Spoiler Inside SelectShow>

26) Realizar la suma del 1 al numero que indiquemos, este debe ser mayor que 1.

Spoiler Inside SelectShow>

27) Crear una aplicación que nos permite insertar números hasta que insertemos un -1. Calcular el numero de números introducidos.

Spoiler Inside SelectShow>

28) Eliminar los espacios de una frase pasada por consola por el usuario.

Spoiler Inside SelectShow>

29) Pedir al usuario que nos escriba frases de forma infinita hasta que insertemos una cadena vacia. Mostrar la cadena resultante

Spoiler Inside SelectShow>

30) Convertir una frase a mayúsculas o minúsculas, que daremos opción a que el usuario lo pida y mostraremos el resultado por pantalla.

Spoiler Inside SelectShow>

31) Mostrar la longitud de una cadena.

Spoiler Inside SelectShow>

32) Pedir dos palabras por teclado, indicar si son iguales.

Spoiler Inside SelectShow>

33) Dada una cadena, extraer la cuarta y quinta letra usando el método substring.

Spoiler Inside SelectShow>

34) Dada una frase, separarlo en palabras.

Spoiler Inside SelectShow>

35) Crea un enum con los días de la semana, pide un día de la semana e indica si es laboral o no (en el main).

Spoiler Inside SelectShow>

36) Modifica el anterior enum para indicar que es día laborable directamente (usar toString).

Spoiler Inside SelectShow>

37) Crea el enum Mes, que contenga como parametros el orden(1,2,3,etc) y el numero de dias (febrero tendra 28 dias siempre).

Estos datos pueden pedirse por separado, asi que tienes que hacer sus respectivos get. No son necesarios los setters.

Create un arrays de Mes (mirate la funcion values), pide un numero por teclado e indica que meses tienen ese numero de dias (toda su informacion).

Por ejemplo, si escribes un 28, este te devolvera la informacion de FEBRERO.

Spoiler Inside SelectShow>

38) Pedir números al usuario y cuando el usuario meta un -1 se terminará el programa.
Al terminar, mostrará lo siguiente:
– mayor numero introducido
– menor numero introducido
– suma de todos los numeros
– suma de los numeros positivos
– suma de los numeros negativos
– media de la suma (la primera que pido)

El número -1 no contara como número.

Spoiler Inside SelectShow>

39) Realiza un reloj digital que muestre la hora sin parar.

Debe esperar un segundo real para darle mas realismo.

Spoiler Inside SelectShow>

También os dejamos videos de nuestro canal de YouTube para que veais como se hace paso a paso.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

10 comentarios

  1. Andres

    Que tal compañero buenas dias me podra ayudar hacer un programa intente muchas veces vi y tambien ejemplos pero aun haci no me sale

  2. Eduardo

    El ejercicio 8 no me sale, aun copiando el ejemplo y probándolo no me sale. El 7 lo tengo perfecto, pero cuando pido un carácter no me devuelve el código y no se por que lo hace.

  3. Jorge

    No se que hacer por favor le agradezzco

    import javax.swing.JOptionPane;

    size(400,400);
    String num1=JOptionPane.showInputDialog(» Introduzca el numero1?»);
    String num2=JOptionPane.showInputDialog(» Introduzca el numero2?»);
    int num=parseInt(num2);
    if(num1==num2)
    {
    print(«los numeros son iguales»);
    text( «los numeros son iguales»,20,20);
    }

    else if(num1 > num2)
    {
    print(«El numero mayor es»+num1);
    text(«El numero mayor es» +num1,20,20);
    }

    else
    {
    print(«El numero mayor es»+num2);
    text(«El numero mayor es» +num2,20,20);
    }

  4. Jorge

    Hola no por que me sale error, por el operador >,,, que esta mal les agradezco

    import javax.swing.JOptionPane;

    size(400,400);
    String num1=JOptionPane.showInputDialog(» Introduzca el numero1?»);
    String num2=JOptionPane.showInputDialog(» Introduzca el numero2?»);
    int num=parseInt(num2);
    if(num1==num2)
    {
    print(«los numeros son iguales»);
    text( «los numeros son iguales»,20,20);
    }

    else if(num1 > num2)
    {
    print(«El numero mayor es»+num1);
    text(«El numero mayor es» +num1,20,20);
    }

    else
    {
    print(«El numero mayor es»+num2);
    text(«El numero mayor es» +num2,20,20);
    }

  5. MAYGUALIDA CAMACHO

    hola ….alguien me puede ayudar hacer un programa para el menu de un restaurant…por favor…GRACIAS

  6. leandro

    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package programa;
    import java.util.Scanner;
    /**
    *
    * @author ROLANDOANTONIOMORALE
    */
    public class Principal {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    Scanner leer = new Scanner(System.in );
    String abcdario = null;
    int op, a=0, e=0, i=0, o=0, u=0;
    do {
    System.out.println(«nnn1.Ingresar Letras del ABCDARIO» );
    System.out.println(«2. Determinar Cantidad de Vocales» );
    System.out.println(«3. Salir» );
    System.out.print(«INGRESE UNA OPCIÓN: » );
    op = leer.nextInt();
    leer.nextLine();
    switch (op) {
    case 1:
    System.out.print(«INGRESE LETRAS: » );
    abcdario = leer.nextLine();
    break;
    case 2:
    if (abcdario == null) {
    System.out.println(«NO HA INGRESADO LETRAS AÚN nINGRESELAS EN LA OP1 PARA CONTINUAR» );
    }else{
    a=0; e=0; i=0; o=0; u=0;
    System.out.println(«LETRAS INGRESADAS: » + abcdario);
    char letras[] = new char[abcdario.length()];
    for (int j = 0; j < abcdario.length(); j++) {
    letras[j] = abcdario.charAt(j);
    }
    for (int j = 0; j < abcdario.length(); j++) {
    if (letras[j] == 'a') {
    a++;
    }else if (letras[j] == 'e') {
    e++;
    }else if (letras[j] == 'i') {
    i++;
    }else if (letras[j] == 'o') {
    o++;
    }else if (letras[j] == 'u') {
    u++;
    }

    }
    System.out.println("CANTIDAD DE A: " + a);
    System.out.println("CANTIDAD DE E: " + e);
    System.out.println("CANTIDAD DE I: " + i);
    System.out.println("CANTIDAD DE O: " + o);
    System.out.println("CANTIDAD DE U: " + u);
    }
    break;
    case 3:
    System.exit(0);
    break;
    default:
    System.out.println("ERROR DE INGRESO" );
    }
    } while (op != 3);

    // TODO code application logic here
    }

    }

  7. leandro

    por favor ayuda con este ejercicio Diseñar una lista simple que almacene un conjunto de letras del abecedario español. Crear un menú de opciones que incluye un método para determinar cuántas vocales de cada una hay en la lista. por favor es urgente y no se como implementarlo al ejercicio anterior ya que no me guarda los datos

  8. jl

    hola alguien tiene la repuesta del 16

  9. RAUL

    Muy buenos dias/tardes lo que corresponda, solo decir que buscando ejercicios basicos llegue a ustedes y encuentro bueno su material, pero queria solo acotar…(y muy en buena y con todo el respecto del mundo!!!!) mecanizar a que siempre en el if, en el else, etc, etc. se debe colocar entre llaves { } A UNA UNICA instruccion no es NADA bueno para novatos, el uso de llaves debe ser para mas de una instruccion sino es redundante y no apunta a crear codigo limpio, claro, en especial para codigo profesionales de miles de lineas. Programo y enseño desde los 90’s y creo que es mejor enseñar bien desde el inicio.

    Atte, prof. RAUL C. S.
    Lic. en Cs de la Computacion, USACH

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *