Anda di halaman 1dari 32

Ejercicios propuestos y resueltos bsicos

Java
1) Declara dos variables numricas (con el valor que desees), muestra por consola la
suma, resta, multiplicacin, divisin y mdulo (resto de la divisin).

1
2
3
4
5 public class OperacionesApp {
6
7 public static void main(String[] args) {
8
9 //Declaramos las variables
1 int num1=10;
int num2=5;
0
11 /*Realizamos las operaciones.
1 * Tambien lo podemos guardar el resultado en variables. */
2
1 System.out.println("El resultado de la suma es "+
3 (num1+num2));
1
4 System.out.println("El resultado de la resta es "+(num1-
num2));
1
5 System.out.println("El resultado de la multiplicacin es "+
1 (num1*num2));
6
1 System.out.println("El resultado de la divisin es "+
7 (num1/num2));
}
1
}
8
1
9
2
0

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

1 public class NumeroMayorApp {


2
public static void main(String[] args) {
3
4
5
6
7
8
9
1 //Declaramos las variables
0 int num1=30;
int num2=15;
11
1
//Hacemos la comprobacin
2 if (num1>=num2){
1 //If anidado
3 if(num1==num2){
1 System.out.println("Los numeros "+num1+" y "+num2+"
son iguales");
4 }else{
1 System.out.println("El nmero "+num1+" es mayor que
5 el nmero "+num2);
1 }
6 }else{
System.out.println("El nmero "+num2+" es mayor que el
1 nmero "+num1);
7 }
1 }
8 }
1
9
2
0
2
1

3) Declara un String que contenga tu nombre, despus muestra un mensaje de


bienvenida por consola. Por ejemplo: si introduzco Fernando, me aparezca
Bienvenido Fernando.

1 public class SaludoApp {


2
3 public static void main(String[] args) {
4
5 String nombre="Fernando";
6
7 System.out.println("Bienvenido "+nombre);
}
8}
9

4) Modifica la aplicacin anterior, para que nos pida el nombre que queremos introducir
(recuerda usar JOptionPane).
Versin con Scanner

1
2 import java.util.Scanner;
public class SaludoPersonalizadoApp {
3
4 public static void main(String[] args) {
5
6 //Nos aparece un cuadro de dialogo
7 Scanner sc = new Scanner(System.in);
8 System.out.println("Introduce tu nombre");
String nombre=sc.nextLine();
9
10
System.out.println("Bienvenido "+nombre);
11 }
12
13 }
14

Versin con JOptionPane

1
2 import javax.swing.JOptionPane;
public class SaludoPersonalizadoApp {
3
4 public static void main(String[] args) {
5
6 //Nos aparece un cuadro de dialogo
7 String nombre=JOptionPane.showInputDialog("Introduce tu
8 nombre");
9
System.out.println("Bienvenido "+nombre);
1 }
0 }
11

5) Haz una aplicacin 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 mtodo pow de Math.

Versin con Scanner

1 import java.util.Scanner;
2 public class AreaCirculoApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6 System.out.println("Introduce un radio");
7 sc.useLocale(Locale.US);
8 double radio=sc.nextDouble();
9
1
0
11
1 //Formula area circulo, usamos algunos de los metodos de
2 Math
1 double area=Math.PI*Math.pow(radio, 2);
3
1 System.out.println("El area del circulo es "+area);
4 }
}
1
5
1
6

Versin con JOptionPane

1
2
3
import javax.swing.JOptionPane;
4 public class AreaCirculoApp {
5
6 public static void main(String[] args) {
7
8 String texto=JOptionPane.showInputDialog("Introduce un
9 radio");
//Pasamos el String a double
1 double radio=Double.parseDouble(texto);
0
11 //Formula area circulo, usamos algunos de los metodos de
1 Math
2 double area=Math.PI*Math.pow(radio, 2);
1
3 System.out.println("El area del circulo es "+area);
}
1 }
4
1
5

6) Lee un nmero por teclado e indica si es divisible entre 2 (resto = 0). Si no lo es,
tambin debemos indicarlo.

Versin con Scanner

1 import java.util.Scanner;
2 public class DivisibleApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6
7
8
9 System.out.println("Introduce un numero");
1 int numero=sc.nextInt();
0
11 //Comprobamos si es divisible entre 2, es decir, si el resto
1 de la division es 0
2 if (numero%2==0){
1 entre 2"); System.out.println("El numero "+numero+" es divisible
3 }else{
1 System.out.println("El numero "+numero+" no es divisible
4 entre 2");
1 }
}
5 }
1
6
1
7

Versin con JOptionPane

1
2
3
4 import javax.swing.JOptionPane;
5 public class DivisibleApp {
6
public static void main(String[] args) {
7
8 String texto=JOptionPane.showInputDialog("Introduce un
9 numero");
1 //Pasamos el String a int
0 int numero=Integer.parseInt(texto);
11
1 //Comprobamos si es divisible entre 2, es decir, si el resto
de la division es 0
2 if (numero%2==0){
1 System.out.println("El numero "+numero+" es divisible
3 entre 2");
1 }else{
4 entre 2"); System.out.println("El numero "+numero+" no es divisible
1 }
5 }
1 }
6
1
7

7) Lee un nmero por teclado y muestra por consola, el carcter al que pertenece en la
tabla ASCII. Por ejemplo: si introduzco un 97, me muestre una a.
1
2
3
4 import javax.swing.JOptionPane;
5 public class CodigoASCIIApp {
6
public static void main(String[] args) {
7
8 String texto=JOptionPane.showInputDialog("Introduce un
9 codigo de la tabla ASCII");
1 //Pasamos el String a int
0 int codigo=Integer.parseInt(texto);
11
//Pasamos el codigo a caracter
1 char caracter=(char)codigo;
2
1 System.out.println(caracter);
3 }
1 }
4
1
5

8) Modifica el ejercicio anterior, para que en lugar de pedir un nmero, pida un carcter
(char) y muestre su cdigo en la tabla ASCII.

Versin con Scanner

1
2 import java.util.Scanner;
3
4 public class CaracterASCIIApp {
5 public static void main(String[] args) {
6
7 Scanner sc = new Scanner(System.in);
8 System.out.println("Introduce un codigo de la tabla ASCII");
9 int codigo = sc.nextInt();
10
11 //Pasamos el codigo a caracter
char caracter = (char) codigo;
12
13 System.out.println(caracter);
14 }
15}
16

Versin con JOptionPane

1 import javax.swing.JOptionPane;
public class CaracterASCIIApp {
2
3
4
5
6 public static void main(String[] args) {
7
8 String texto=JOptionPane.showInputDialog("Introduce un
9 caracter ASCII");
1 //Pasamos el String a char con el metodo charAt
char caracter=texto.charAt(0);
0
11 //Pasamos el caracter a codigo
1 int codigo=(int)caracter;
2
1 System.out.println(codigo);
3 }
1 }
4
1
5

9) Lee un nmero 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%.

Versin con Scanner

1
2 import java.util.Scanner;
3
4 public class PrecioProductoApp {
5 public static void main(String[] args) {
6
7 Scanner sc = new Scanner(System.in);
8 System.out.println("Introduce un caracter ASCII");
9 char caracter = sc.next().charAt(0);
10
11 //Pasamos el caracter a codigo
int codigo = (int) caracter;
12
13 System.out.println(codigo);
14 }
15 }
16

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class PrecioProductoApp {
3 public static void main(String[] args) {
4
5
6
7
8
9
1 //Declaramos una constante
final double IVA=0.21;
0
11 String texto=JOptionPane.showInputDialog("Introduce el
1 precio de un producto");
2 //Pasamos el String a double
1 double precio=Double.parseDouble(texto);
3
1 //Obtenemos el precio final (precio+(precio*IVA))
double precioFinal=precio+(precio*IVA);
4
1 System.out.println(precioFinal);
5 }
1 }
6
1
7
1
8

10) Muestra los nmeros del 1 al 100 (ambos incluidos). Usa un bucle while.

1
2 public class MuestraNumWhileApp {
3
public static void main(String[] args) {
4
5 int num=1;
6
7 //Definimos el bucle, incluye el 100
8 while (num<=100){
9 System.out.println(num);
10 //Incrementamos num
num++;
11 }
12 }
13 }
14

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

1 public class MuestraNumForApp {


2
public static void main(String[] args) {
3
4 //Definimos el bucle, incluye el 100
5
6 for (int num=1;num<=100;num++){
System.out.println(num);
7 }
8 }
9 }
10

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

Con While

1
2 public class DivisiblesWhileApp {
3
4 public static void main(String[] args) {
5
int num=1;
6
7 //Definimos el bucle, incluye el 100
8 while (num<=100){
9 if (num%2==0 || num%3==0){
10 System.out.println(num);
11 }
//Incrementamos num
12 num++;
13 }
14 }
15 }
16

Con For

1
2 public class DivisiblesForApp {
3
public static void main(String[] args) {
4
5 //Definimos el bucle, incluye el 100
6 for (int num=1;num<=100;num++){
7 //Comprobamos si es divisible entre 2 o 3
8 if (num%2==0 || num%3==0){
9 System.out.println(num);
}
10 }
11 }
12 }
13
13) Realiza una aplicacin que nos pida un nmero de ventas a introducir, despus nos
pedir tantas ventas por teclado como nmero 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.

Versin con Scanner

1 import java.util.Scanner;
2 public class VentasApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6 System.out.println("Introduce el nmero de ventas");
7 int numVentas=sc.nextInt();
8
9 /*Declaramos una variable para sumar las ventas,
* si lo declaramos dentro del bucle, no podriamos
1
* acceder fuera del bucle a la suma de las ventas.
0 * Esto es por el mbito.
11 */
1 int sumaVentas=0;
2 for (int i=0;i<numVentas;i++){
//indico el numero de venta
1 System.out.println("Introduce el precio de la venta "+
3 (i+1));
1 int venta=sc.nextInt();
4
1 //Acumulamos el valor de la venta
5 sumaVentas=sumaVentas+venta;
}
1
6 System.out.println(sumaVentas);
1 }
7 }
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class VentasApp {
3 public static void main(String[] args) {
4
5 String texto=JOptionPane.showInputDialog("Introduce el
6 nmero de ventas");
7
8 //Pasamos el String a int
9 int numVentas=Integer.parseInt(texto);
1
/*Declaramos una variable para sumar las ventas,
0 * si lo declaramos dentro del bucle, no podriamos
11 * acceder fuera del bucle a la suma de las ventas.
1 * Esto es por el mbito.
2 */
1 int sumaVentas=0;
for (int i=0;i<numVentas;i++){
3 //indico el numero de venta
1 texto=JOptionPane.showInputDialog("Introduce el precio
4 de la venta"+(i+1));
1 int venta=Integer.parseInt(texto);
5
//Acumulamos el valor de la venta
1 sumaVentas=sumaVentas+venta;
6 }
1
7 System.out.println(sumaVentas);
1 }
8 }
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8

14) Realiza una aplicacin que nos calcule una ecuacin de segundo grado. Debes pedir
las variables a, b y c por teclado y comprobar antes que el discriminante (operacin en
la raz cuadrada). Para la raz cuadrada usa el mtodo sqlrt de Math. Te recomiendo
que uses mensajes de traza.

Versin con Scanner

1 import java.util.Scanner;
2 public class Ecuacion2GradoApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6 System.out.println("Introduce el valor de a");
7 int a=sc.nextInt();
8 System.out.println("Introduce el valor de b");
int b=sc.nextInt();
9 System.out.println("Introduce el valor de c");
1 int c=sc.nextInt();
0
11 double discriminante=Math.pow(b, 2)-(4*a*c);
1
2 //Mensaje de traza
1 System.out.println(">>"+discriminante);
3
if (discriminante>0){
1
//Tambien se puede hacer por parte si lo ves ms facil
4 //recuerda que debes tener en cuenta la prioridad de
1 elementos
5 double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a);
1 double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a);
6
System.out.println("El valor de x1 es "+x1+" y el valor
1 de x2 es "+x2);
7 }else{
1 System.out.println("El discriminante es negativo");
8 }
1 }
}
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class Ecuacion2GradoApp {
3 public static void main(String[] args) {
4
5 String textoA=JOptionPane.showInputDialog("Introduce el
6 valor de a");
7 int a=Integer.parseInt(textoA);
8 String textoB=JOptionPane.showInputDialog("Introduce el
valor de b");
9 int b=Integer.parseInt(textoB);
1 String textoC=JOptionPane.showInputDialog("Introduce el
0 valor de c");
11 int c=Integer.parseInt(textoC);
1
2 double discriminante=Math.pow(b, 2)-(4*a*c);
1
//Mensaje de traza
3 System.out.println(">>"+discriminante);
1
4 if (discriminante>0){
1 //Tambien se puede hacer por parte si lo ves ms facil
5 //recuerda que debes tener en cuenta la prioridad de
elementos
1 double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a);
6 double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a);
1
7 System.out.println("El valor de x1 es "+x1+" y el valor
1 de x2 es "+x2);
8 }else{
System.out.println("El discriminante es negativo");
1 }
9 }
2 }
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9

15) Lee un nmero por teclado y comprueba que este numero es mayor o igual que cero,
si no lo es lo volver a pedir (do while), despus muestra ese nmero por consola.

Versin con Scanner

1
2 import java.util.Scanner;
3 public class Ejercicio_DiscoDurodeRoer_Basicos_15_Scanner {
4
5 public static void main(String[] args) {
6
/* Declaramos la varible ya que sino no podemos usarla
7 * en el while por el tema de mbito
8 */
9 int codigo;
10 Scanner sc = new Scanner(System.in);
11 do{
System.out.println("Introduce un numero mayor que 0");
12 codigo=sc.nextInt();
13 }while(codigo<=0);
14
15 System.out.println(codigo);
16 }
17 }
18

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class ComprobacionApp {
3 public static void main(String[] args) {
4
5 /* Declaramos la varible ya que sino no podemos usarla
6 * en el while por el tema de mbito
7 */
8 int codigo;
do{
9
1
0
11
1 String texto=JOptionPane.showInputDialog("Introduce un
2 numero mayor que 0");
1 codigo=Integer.parseInt(texto);
3 }while(codigo<=0);
1
4 System.out.println(codigo);
}
1 }
5
1
6
1
7

16) Escribe una aplicacin con un String que contenga una contrasea cualquiera.
Despus se te pedir que introduzcas la contrasea, con 3 intentos. Cuando aciertes ya
no pedir mas la contrasea y mostrara un mensaje diciendo Enhorabuena. Piensa
bien en la condicin de salida (3 intentos y si acierta sale, aunque le queden intentos).

Versin con Scanner

1 import java.util.Scanner;
2 public class ContraseaApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6 String contrasea="eureka";
7
8 final int INTENTOS = 3;
9
1 //Esta variable booleana, nos controlara que en caso de que
0 acierte la condicion cambie
boolean acierto=false;
11
1 String password;
2 for (int i=0;i<INTENTOS && !acierto;i++){
1 System.out.println("Introduce una contrasea");
3 password = sc.next();
1
4 //Comprobamos si coincide, no usamos ==, usamos el
metodo equals
1 if (password.equals(contrasea)){
5 System.out.println("Enhorabuena, acertaste");
1
6
1
7
1
8
1
9
2
0 acierto=true;
}
2 }
1 }
2 }
2
2
3
2
4
2
5
2
6

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class ContraseaApp {
3
public static void main(String[] args) {
4
5 String contrasea="eureka";
6
7 final int INTENTOS = 3;
8
9 //Esta variable booleana, nos controlara que en caso de que
1 acierte la condicion cambie
0 boolean acierto=false;
11
String password;
1 for (int i=0;i<3 && !acierto;i++){
2 password=JOptionPane.showInputDialog("Introduce una
1 contrasea");
3
1 //Comprobamos si coincide, no usamos ==, usamos el
4 metodo equals
if (password.equals(contrasea)){
1 System.out.println("Enhorabuena, acertaste");
5 acierto=true;
1 }
6 }
}
1 }
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4

17) Crea una aplicacin que nos pida un da de la semana y que nos diga si es un dia
laboral o no. Usa un switch para ello.

Versin con Scanner

1
2
3 import java.util.Scanner;
public class DiaApp {
4
5 public static void main(String[] args) {
6
7 Scanner sc = new Scanner(System.in);
8
9 System.out.println("Introduce un dia de la semana");
10 String dia = sc.next();
11
12 switch(dia){
case "lunes":
13 case "martes":
14 case "miercoles":
15 case "jueves":
16 case "viernes":
17 System.out.println("Es un dia laboral");
break;
18 case "sabado":
19 case "domingo":
20 System.out.println("Es un dia festivo");
21 default:
System.out.println("Introduce un dia de la semana");
22 }
23 }
24}
25
26

Versin con JOptionPane


1
2
3
4
5
6
7
8
9 import javax.swing.JOptionPane;
public class DiaApp {
1
0 public static void main(String[] args) {
11
1 String dia=JOptionPane.showInputDialog("Introduce un dia de
2 la semana");
1
3 switch(dia){
case "lunes":
1 case "martes":
4 case "miercoles":
1 case "jueves":
5 case "viernes":
1 System.out.println("Es un dia laboral");
break;
6 case "sabado":
1 case "domingo":
7 System.out.println("Es un dia festivo");
1 default:
System.out.println("Introduce un dia de la semana");
8
}
1 }
9 }
2
0
2
1
2
2
2
3

18) Pide por teclado dos nmero y genera 10 nmeros aleatorios entre esos nmeros.
Usa el mtodo Math.random para generar un nmero entero aleatorio (recuerda el
casting de double a int).

Versin con Scanner

1 import java.util.Scanner;
2 public class GeneraNumApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6
7
8
9
1
0 System.out.println("Introduce el primero numero");
11 int num1=sc.nextInt();
1
2 System.out.println("Introduce el segundo numero");
1 int num2=sc.nextInt();
3
1 for (int i=0;i<10;i++){
//Generamos un numero aleatorio
4 int numAleatorio=(int)Math.floor(Math.random()*(num1-
1 num2)+num2);
5 System.out.println(numAleatorio);
1 }
}
6 }
1
7
1
8
1
9

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class GeneraNumApp {
3 public static void main(String[] args) {
4
5 String texto1=JOptionPane.showInputDialog("Introduce el
6 primero numero");
7 int num1=Integer.parseInt(texto1);
8
9 String texto2=JOptionPane.showInputDialog("Introduce el
segundo numero");
1 int num2=Integer.parseInt(texto2);
0
11 for (int i=0;i<10;i++){
1 //Generamos un numero aleatorio
2 int numAleatorio=(int)Math.floor(Math.random()*(num1-
1 num2)+num2);
System.out.println(numAleatorio);
3 }
1 }
4 }
1
5
1
6
1
7
1
8

19) Pide por teclado un nmero entero positivo (debemos controlarlo) y muestra el
nmero 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.

Versin con Scanner

1 import java.util.Scanner;
2 public class CuentaCifrasApp {
3
public static void main(String[] args) {
4
5 Scanner sc = new Scanner(System.in);
6 int numero=0;
7 do{
8 System.out.println("Introduce un numero");
numero=sc.nextInt();
9 }while(numero<0);
1
0 int contador=0;
11 for (int i=numero;i>0;i/=10){
1 //Incrementamos el contador
2 contador++;
}
1
3 //Controlamos en el caso de que haya una cifra o mas
1 if (contador==1){
4 System.out.println("El numero "+numero+ " tiene
1 "+contador+" cifra");
5 }else{
System.out.println("El numero "+numero+ " tiene
1 "+contador+" cifras");
6 }
1
7 }
1 }
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7

Versin con JOptionPane

1
2
3
4
5
6
7
8
9 import javax.swing.JOptionPane;
1 public class CuentaCifrasApp {
0
11 public static void main(String[] args) {
1
2 int numero=0;
1 do{
String texto=JOptionPane.showInputDialog("Introduce un
3 numero");
1 numero=Integer.parseInt(texto);
4 }while(numero<0);
1
5 int contador=0;
1 for (int i=numero;i>0;i/=10){
//Incrementamos el contador
6 contador++;
1 }
7
1 //Controlamos en el caso de que haya una cifra o mas
8 if (contador==1){
1 "+contador+"System.out.println("El
cifra");
numero "+numero+ " tiene
9 }else{
2 System.out.println("El numero "+numero+ " tiene
0 "+contador+" cifras");
2 }
1
}
2 }
2
2
3
2
4
2
5
2
6
20) Pide un nmero por teclado e indica si es un nmero primo o no. Un nmero 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 raz 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.

Versin con Scanner

1 import java.util.Scanner;
2
3 public class PrimoApp {
4 public static void main(String[] args) {
5
6 Scanner sc = new Scanner(System.in);
7 System.out.println("Introduce un numero");
8 int numero = sc.nextInt();
9
1 //Un numero negativo, el 0 y el 1, son directamente no
primos.
0 if (numero <= 1) {
11 System.out.println("El numero " + numero + " no es
1 primo");
2 } else {
1
3 //Hacemos un casting para que nos devuelva un numero
entero
1 int raiz = (int) Math.sqrt(numero);
4 int contador = 0;
1
5 //Contamos el numero de divisibles
1 for (int i = raiz; i > 1; i--) {
if (numero % i == 0) {
6 contador++;
1 }
7 }
1
8 /*Segun el numero de divisibles, sabemos si es primo o
1 no
* Si es primo el contador sera 0
9 */
2 //Mensaje de traza
0 System.out.println(">>" + contador);
2
1 if (contador < 1) {
2 System.out.println("El numero " + numero + " es
primo");
2 } else {
2 System.out.println("El numero " + numero + " no es
3 primo");
2 }
4
}
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3 }
3 }
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1

Version con JOptionPane

1 import javax.swing.JOptionPane;
2
3 public class Ejercicio_DiscoDurodeRoer_Basicos_20 {
4 public static void main(String[] args) {
5
6 String texto = JOptionPane.showInputDialog("Introduce un
7 numero");
8 int numero = Integer.parseInt(texto);
9
1 //Un numero negativo, el 0 y el 1, son directamente no
primos.
0 if (numero <= 1) {
11 System.out.println("El numero " + numero + " no es
1 primo");
2 } else {
1
//Hacemos un casting para que nos devuelva un numero
3 entero
1 int raiz = (int) Math.sqrt(numero);
4 int contador = 0;
1
5 //Contamos el numero de divisibles
1 for (int i = raiz; i > 1; i--) {
if (numero % i == 0) {
6 contador++;
1 }
7 }
1
8 /*Segun el numero de divisibles, sabemos si es primo o
1 no
* Si es primo el contador sera 0
9 */
2 //Mensaje de traza
0 System.out.println(">>" + contador);
2
1 if (contador < 1) {
System.out.println("El numero " + numero + " es
2 primo");
2 } else {
2 System.out.println("El numero " + numero + " no es
3 primo");
2 }
4
}
2 }
5 }
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0

21) Muestra los nmeros primos entre 1 y 100.

Versin con Scanner

1 import java.util.Scanner;
2
3 public class MuestraPrimosApp {
4 public static void main(String[] args) {
5
6 Scanner sc = new Scanner(System.in);
7 System.out.println("Introduce un numero");
8 int numero = sc.nextInt();
9
1 //Un numero negativo, el 0 y el 1, son directamente no
primos.
0 if (numero <= 1) {
11 System.out.println("El numero " + numero + " no es
1 primo");
2 } else {
1
3 //Hacemos un casting para que nos devuelva un numero
entero
1 int raiz = (int) Math.sqrt(numero);
4 int contador = 0;
1
5 //Contamos el numero de divisibles
1 for (int i = raiz; i > 1; i--) {
if (numero % i == 0) {
6 contador++;
1 }
7 }
1
8 /*Segun el numero de divisibles, sabemos si es primo o
1 no
* Si es primo el contador sera 0
9 */
2 //Mensaje de traza
0 System.out.println(">>" + contador);
2
1 if (contador < 1) {
2 System.out.println("El numero " + numero + " es
primo");
2 } else {
2 System.out.println("El numero " + numero + " no es
3 primo");
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3 }
2
}
3 }
3 }
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1

Versin con JOptionPane

1 public class MuestraPrimosApp {


2
public static void main(String[] args) {
3
4 for (int i=1;i<=100;i++){
5 //Hacemos un casting para que nos devuelva un numero
6 entero
7 int raiz=(int)Math.sqrt(i);
8 int contador=0;
9
//Hacemos otro bucle para contar los divisibles
1 for (int j=raiz;j>1;j--){
0 if (i%j==0){
11
1
2
1
3
1
4
1
5
1
contador++;
6 }
1 }
7
1 /*Segun el numero de divisibles, sabemos si es primo o
8 no
* Si es primo el contador sera 0
1 */
9
2 if (contador<1){
0 System.out.println(i);
2 }
1
2 }
}
2 }
2
3
2
4
2
5
2
6
2
7

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

23) Reemplaza todas las a del String anterior por una e.

1 public class CambioLetrasApp {


2
public static void main(String[] args) {
3
4
5 String cadena="La lluvia en Sevilla es una maravilla";
6
//Aviso, de esta forma no modifica el String original
7 System.out.print(cadena.replace('a', 'e'));
8
9 }
10 }
11

24) Recorre el String del ejercicio 22 y transforma cada carcter a su cdigo ASCII.
Muestralos en linea recta, separados por un espacio entre cada carcter.

1
2 public class ListaCaracteresApp {
3 public static void main(String[] args) {
4
5 String cadena="La lluvia en Sevilla es una maravilla";
6
7 for (int i=0;i<cadena.length();i++){
8 //Hacemos un casting para convertir el char a int
9 System.out.print((int)cadena.charAt(i)+" ");
}
10 }
11 }
12

25) Crea una aplicacin llamada CalculadoraPolacaInversaApp, nos pedir 2 operandos


(int) y un signo aritmtico (String), segn este ltimo se realizara la operacin
correspondiente. Al final mostrara el resultado en un cuadro de dialogo.

Los signos aritmticos 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.

%: mdulo, resto de la divisin entre operando1 y operando2.

Versin con Scanner


1 import java.util.Locale;
2 import java.util.Scanner;
public class CalculadoraPolacaInversaApp {
3
4 public static void main(String[] args) {
5
6 Scanner sc = new Scanner(System.in);
7 sc.useLocale(Locale.US);
8 //no importa que sean int o double
double operando1;
9 double operando2;
1 double resultado=0;
0
11 //Nos pide los operandos y el signo de operacion
1 System.out.println("Escribe el operando 1");
2 operando1=sc.nextDouble();
1
System.out.println("Escribe el codigo de operacion");
3 String operacion = sc.next();
1
4 System.out.println("Escribe el operando 2");
1 operando2=sc.nextDouble();
5
1 //segun el codigo de operacion, haremos una u otra accion
6 switch (operacion){
case "+":
1 resultado=operando1+operando2;
7 break;
1 case "-":
8 resultado=operando1-operando2;
1 break;
case "*":
9 resultado=operando1*operando2;
2 break;
0 case "/":
2 resultado=operando1/operando2;
break;
1
case "^":
2 resultado=(int)Math.pow(operando1, operando2);
2 break;
2 case "%":
3 resultado=operando1%operando2;
break;
2 }
4
2 System.out.println( operando1+" "+operacion+" "+operando2+"
5 = "+resultado);
2
6 }
2 }
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9

Versin con JOptionPane

1 import javax.swing.JOptionPane;
2 public class CalculadoraPolacaInversaApp {
3 public static void main(String[] args) {
4
5 //no importa que sean int o double
6 double operando1;
7 double operando2;
8 double resultado=0;
9
//Nos pide los operandos y el signo de operacion
1 String texto=JOptionPane.showInputDialog("Escribe el
operando 1");
0 operando1=Integer.parseInt(texto);
11
1 String operacion=JOptionPane.showInputDialog("Escribe el
2 codigo de operacion");
1
3 String texto2=JOptionPane.showInputDialog("Escribe el
1 operando 2");
operando2=Integer.parseInt(texto2);
4
1 //segun el codigo de operacion, haremos una u otra accion
5 switch (operacion){
1 case "+":
6 resultado=operando1+operando2;
1 break;
case "-":
7 resultado=operando1-operando2;
1 break;
8 case "*":
1 resultado=operando1*operando2;
break;
9 case "/":
2 resultado=operando1/operando2;
0 break;
2 case "^":
1 resultado=(int)Math.pow(operando1, operando2);
break;
2 case "%":
2 resultado=operando1%operando2;
2 break;
3 }
2
4 JOptionPane.showMessageDialog(null, operando1+"
"+operacion+" "+operando2+" = "+resultado);
2
5 }
2 }
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5

Anda mungkin juga menyukai