• No se han encontrado resultados

Ejercicios Propuestos y Resueltos Básicos Java - Optimizado

N/A
N/A
Protected

Academic year: 2021

Share "Ejercicios Propuestos y Resueltos Básicos Java - Optimizado"

Copied!
10
0
0

Texto completo

(1)

Ejercicios propuestos y resueltos básicos Java

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

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

} }

(2)

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*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

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

(3)

}

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

(4)

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.

(5)

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

publicclassDivisiblesWhileApp {

publicstaticvoidmain(String[] args) {

intnum=1;

//Definimos el bucle, incluye el 100

while(num<=100){ if(num%2==0|| num%3==0){ System.out.println(num); } //Incrementamos num num++; } } }

(6)

15

16

– Con For

1

2

3

4

5

6

7

8

9

10

11

12

13

publicclassDivisiblesForApp {

publicstaticvoidmain(String[] args) {

//Definimos el bucle, incluye el 100

for(intnum=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); }

(7)

}

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

(8)

*/

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":

(9)

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{

(10)

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.

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

[r]

[r]

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

En el capítulo de desventajas o posibles inconvenientes que ofrece la forma del Organismo autónomo figura la rigidez de su régimen jurídico, absorbentemente de Derecho público por

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación