Ejercicios propuestos y resueltos básicos Java1) 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 public class OperacionesApp { public static void main(String[] args) { //Declaramos las variables int num1=10; int num2=5; /*Realizamos las operaciones. * Tambien lo podemos guardar el resultado en variables. */ System.out.println("El resultado de la suma es "+(num1+num2)); System.out.println("El resultado de la resta es "+(num1-num2)); System.out.println("El resultado de la multiplicación es "+(num1*num2)); System.out.println("El resultado de la división es "+(num1/num2)); } } 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 public class NumeroMayorApp { public static void main(String[] args) { //Declaramos las variables int num1=30; int num2=15; //Hacemos la comprobación if (num1>=num2){ //If anidado if(num1==num2){ System.out.println("Los numeros "+num1+" y "+num2+" son iguales"); }else{ System.out.println("El número "+num1+" es mayor que el número "+num2); } }else{ System.out.println("El número "+num2+" es mayor que el número "+num1); } } } 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 public class SaludoApp { public static void main(String[] args) { String nombre="Fernando"; System.out.println("Bienvenido "+nombre); } } 4) Modifica la aplicación anterior, para que nos pida el nombre que queremos introducir (recuerda usar JOptionPane). Spoiler import javax.swing.JOptionPane; public class SaludoPersonalizadoApp { public static void main(String[] args) { //Nos aparece un cuadro de dialogo String nombre=JOptionPane.showInputDialog("Introduce tu nombre"); System.out.println("Bienvenido "+nombre); } } 5) Haz una aplicación que calcule el área de un cuadrado (pi*R 2 ). 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 import javax.swing.JOptionPane; public class AreaCirculoApp { public static void main(String[] args) { String texto=JOptionPane.showInputDialog("Introduce un radio"); //Pasamos el String a double double radio=Double.parseDouble(texto); //Formula area circulo, usamos algunos de los metodos de Math double area=Math.PI*Math.pow(radio, 2); System.out.println("El area del circulo es "+area); } } 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 import javax.swing.JOptionPane; public class DivisibleApp { public static void main(String[] args) { String texto=JOptionPane.showInputDialog("Introduce un numero"); //Pasamos el String a int int numero=Integer.parseInt(texto); //Comprobamos si es divisible entre 2, es decir, si el resto de la division es 0 if (numero%2==0){ System.out.println("El numero "+numero+" es divisible entre 2"); }else{ System.out.println("El numero "+numero+" no es divisible entre 2"); } } } 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 import javax.swing.JOptionPane; public class CodigoASCIIApp { public static void main(String[] args) { String texto=JOptionPane.showInputDialog("Introduce un codigo de la tabla ASCII"); //Pasamos el String a int int codigo=Integer.parseInt(texto); //Pasamos el codigo a caracter char caracter=(char)codigo; System.out.println(caracter); } } 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 import javax.swing.JOptionPane; public class CaracterASCIIApp { public static void main(String[] args) { String texto=JOptionPane.showInputDialog("Introduce un caracter ASCII"); //Pasamos el String a char con el metodo charAt char caracter=texto.charAt(0); //Pasamos el caracter a codigo int codigo=(int)caracter; System.out.println(codigo); } } 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 import javax.swing.JOptionPane; public class PrecioProductoApp { public static void main(String[] args) { //Declaramos una constante final double IVA=0.21; String texto=JOptionPane.showInputDialog("Introduce el precio de un producto"); //Pasamos el String a double double precio=Double.parseDouble(texto); //Obtenemos el precio final (precio+(precio*IVA)) double precioFinal=precio+(precio*IVA); System.out.println(precioFinal); } } 10) Muestra los números del 1 al 100 (ambos incluidos). Usa un bucle while. Spoiler public class MuestraNumWhileApp { public static void main(String[] args) { int num=1; //Definimos el bucle, incluye el 100 while (num<=100){ System.out.println(num); //Incrementamos num num++; } } } 11) Haz el mismo ejercicio anterior con un bucle for. Spoiler public class MuestraNumForApp { public static void main(String[] args) { //Definimos el bucle, incluye el 100 for (int num=1;num<=100;num++){ System.out.println(num); } } } 12) Muestra los números del 1 al 100 (ambos incluidos) divisibles entre 2 y 3. Utiliza el bucle que desees. Spoiler – Con While 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class DivisiblesWhileApp { public static void main(String[] args) { int num=1; //Definimos el bucle, incluye el 100 while (num<=100){ if (num%2==0 || num%3==0){ System.out.println(num); } //Incrementamos num num++; } } } 15 16 – Con For 1 2 3 4 5 6 7 8 9 10 11 12 13 public class DivisiblesForApp { public static void main(String[] args) { //Definimos el bucle, incluye el 100 for (int num=1;num<=100;num++){ //Comprobamos si es divisible entre 2 o 3 if (num%2==0 || num%3==0){ System.out.println(num); } } } } 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 import javax.swing.JOptionPane; public class VentasApp { public static void main(String[] args) { String texto=JOptionPane.showInputDialog("Introduce el número de ventas"); //Pasamos el String a int int numVentas=Integer.parseInt(texto); /*Declaramos una variable para sumar las ventas, * si lo declaramos dentro del bucle, no podriamos * acceder fuera del bucle a la suma de las ventas. * Esto es por el ámbito. */ int sumaVentas=0; for (int i=0;i<numVentas;i++){ //indico el numero de venta texto=JOptionPane.showInputDialog("Introduce el precio de la venta"+(i+1)); int venta=Integer.parseInt(texto); //Acumulamos el valor de la venta sumaVentas=sumaVentas+venta; } System.out.println(sumaVentas); } } 14) Realiza una aplicación que nos calcule una ecuación de segundo grado. Debes pedir las variablesa, 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 import javax.swing.JOptionPane; public class Ecuacion2GradoApp { public static void main(String[] args) { String textoA=JOptionPane.showInputDialog("Introduce el valor de a"); int a=Integer.parseInt(textoA); String textoB=JOptionPane.showInputDialog("Introduce el valor de b"); int b=Integer.parseInt(textoB); String textoC=JOptionPane.showInputDialog("Introduce el valor de c"); int c=Integer.parseInt(textoC); double discriminante=Math.pow(b, 2)-(4*a*c); //Mensaje de traza System.out.println(">>"+discriminante); if (discriminante>0){ //Tambien se puede hacer por parte si lo ves más facil //recuerda que debes tener en cuenta la prioridad de elementos double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a); double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a); System.out.println("El valor de x1 es "+x1+" y el valor de x2 es "+x2); }else{ System.out.println("El discriminante es negativo"); } } } 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 import javax.swing.JOptionPane; public class ComprobacionApp { public static void main(String[] args) { /* Declaramos la varible ya que sino no podemos usarla * en el while por el tema de ámbito */ int codigo; do{ String texto=JOptionPane.showInputDialog("Introduce un numero mayor que 0"); codigo=Integer.parseInt(texto); }while(codigo<=0); System.out.println(codigo); } } 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 import javax.swing.JOptionPane; public class ContraseñaApp { public static void main(String[] args) { String contraseña="eureka"; //Esta variable booleana, nos controlara que en caso de que acierte la condicion cambie boolean acierto=false; for (int i=0;i<3 && !acierto;i++){ String password=JOptionPane.showInputDialog("Introduce una contraseña"); //Comprobamos si coincide, no usamos ==, usamos el metodo equals if (password.equals(contraseña)){ System.out.println("Enhorabuena, acertaste"); acierto=true; } } } } 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 import javax.swing.JOptionPane; public class DiaApp { public static void main(String[] args) { String dia=JOptionPane.showInputDialog("Introduce un dia de la semana"); switch(dia){ case "lunes": case "martes": case "miercoles": case "jueves": case "viernes": System.out.println("Es un dia laboral"); break; case "sabado": case "domingo": System.out.println("Es un dia festivo"); default: System.out.println("Introduce un dia de la semana"); } } } 18) Pide por teclado dos número y genera 10 números aleatorios entre esos números. Usa el métodoMath.random para generar un número entero aleatorio (recuerda el casting de double a int). Spoiler import javax.swing.JOptionPane; public class GeneraNumApp { public static void main(String[] args) { String texto1=JOptionPane.showInputDialog("Introduce el primero numero"); int num1=Integer.parseInt(texto1); String texto2=JOptionPane.showInputDialog("Introduce el segundo numero"); int num2=Integer.parseInt(texto2); for (int i=0;i<10;i++){ //Generamos un numero aleatorio int numAleatorio=(int)Math.floor(Math.random()*(num1- num2)+num2); System.out.println(numAleatorio); } } } 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 import javax.swing.JOptionPane; public class CuentaCifrasApp { public static void main(String[] args) { int numero=0; do{ String texto=JOptionPane.showInputDialog("Introduce un numero"); numero=Integer.parseInt(texto); }while(numero<0); int contador=0; for (int i=numero;i>0;i/=10){ //Incrementamos el contador contador++; } //Controlamos en el caso de que haya una cifra o mas if (contador==1){ System.out.println("El numero "+numero+ " tiene "+contador+" cifra"); }else{ System.out.println("El numero "+numero+ " tiene "+contador+" cifras"); } } } 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. Spoiler 21) Muestra los números primos entre 1 y 100. Spoiler 22) Del siguiente String “La lluvia en Sevilla es una maravilla” cuenta cuantas vocales hay en total (recorre el String con charAt). Spoiler 23) Reemplaza todas las a del String anterior por una e. Spoiler public class CambioLetrasApp { public static void main(String[] args) { String cadena="La lluvia en Sevilla es una maravilla"; //Aviso, de esta forma no modifica el String original System.out.print(cadena.replace('a', 'e')); } } 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.
Report "Ejercicios Propuestos y Resueltos Básicos Java - Optimizado"