Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 21) Muestra los números primos entre 1 y 100.
- import java.util.Scanner;
- public class MuestraPrimosApp {
- public static void main(String[] args) {
- for (int i=1;i<=100;i++){
- //Hacemos un casting para que nos devuelva un numero entero
- int raiz=(int)Math.sqrt(i);
- int contador=0;
- //Hacemos otro bucle para contar los divisibles
- for (int j=raiz;j>1;j--){
- if (i%j==0){
- contador++;
- }
- }
- /*Segun el numero de divisibles, sabemos si es primo o no
- * Si es primo el contador sera 0
- */
- if (contador<1){
- System.out.println(i);
- }
- }
- }
- }
- 22) Del siguiente String “La lluvia en Sevilla es una maravilla” cuenta cuantas vocales hay en total (recorre el String con charAt).
- public class Principal {
- public static void main(String[] args) {
- String cadena="La lluvia en Sevilla es una maravilla";
- int contador=0;
- for (int i=0;i<cadena.length();i++){
- //Comprobamos si el caracter es una vocal
- if(cadena.charAt(i)=='a' ||
- cadena.charAt(i)=='e' ||
- cadena.charAt(i)=='i' ||
- cadena.charAt(i)=='o' ||
- cadena.charAt(i)=='u'){
- contador++;
- }
- }
- System.out.println("Hay "+contador+" vocales");
- }
- }
- 23) Reemplaza todas las a del String anterior por una e.
- 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.
- public class ListaCaracteresApp {
- public static void main(String[] args) {
- String cadena="La lluvia en Sevilla es una maravilla";
- for (int i=0;i<cadena.length();i++){
- //Hacemos un casting para convertir el char a int
- System.out.print((int)cadena.charAt(i)+" ");
- }
- }
- }
- 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
- import java.util.Locale;
- import java.util.Scanner;
- public class CalculadoraPolacaInversaApp {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- sc.useLocale(Locale.US);
- //no importa que sean int o double
- double operando1;
- double operando2;
- double resultado=0;
- //Nos pide los operandos y el signo de operacion
- System.out.println("Escribe el operando 1");
- operando1=sc.nextDouble();
- System.out.println("Escribe el codigo de operacion");
- String operacion = sc.next();
- System.out.println("Escribe el operando 2");
- operando2=sc.nextDouble();
- //segun el codigo de operacion, haremos una u otra accion
- switch (operacion){
- case "+":
- resultado=operando1+operando2;
- break;
- case "-":
- resultado=operando1-operando2;
- break;
- case "*":
- resultado=operando1*operando2;
- break;
- case "/":
- resultado=operando1/operando2;
- break;
- case "^":
- resultado=(int)Math.pow(operando1, operando2);
- break;
- case "%":
- resultado=operando1%operando2;
- break;
- }
- System.out.println( operando1+" "+operacion+" "+operando2+" = "+resultado);
- }
- }
- 26) Realizar la suma del 1 al numero que indiquemos, este debe ser mayor que 1.
- import java.util.Scanner;
- public class Ejercicio_26 {
- public static void main(String[] args) {
- Scanner sn=new Scanner(System.in);
- System.out.println("Inserta un numero entero mayor que 1");
- int num;
- do{
- //Pedimos el primer número
- num=sn.nextInt();
- if(num<=1){
- System.out.println("Error. No has introducido un valor correcto."
- + "Vuelve a intentarlo");
- }
- }while(!(num>=1)); //condición para salir
- int suma=0;
- //Realizamos la suma
- for(int contador=1;contador<=num;contador++){
- suma+=contador;
- }
- System.out.println("La suma es: "+suma);
- }
- }
- 27) Crear una aplicación que nos permite insertar números hasta que insertemos un -1. Calcular el numero de números introducidos.
- import java.util.Scanner;
- public class Ejercicio_27 {
- public static void main(String[] args) {
- //Pedimos el numero
- Scanner sn=new Scanner(System.in);
- int num=sn.nextInt();
- int contador=0;
- //Hasta que no se introduzca -1 no se sale
- while(num!=-1){
- contador++;
- num=sn.nextInt(); //Pedimos de nuevo el número
- }
- System.out.println("Fin, se ha introducido "+contador+" numeros");
- }
- }
- 28) Eliminar los espacios de una frase pasada por consola por el usuario.
- import javax.swing.JOptionPane;
- public class Ejercicio_basicos_DDR_28 {
- public static void main(String[] args) {
- String texto=JOptionPane.showInputDialog(null,
- "Inserta una frase",
- "Inserción",
- JOptionPane.INFORMATION_MESSAGE);
- //usado para almacenar el texto final
- String texto_sin_espacios="";
- char caracterActual;
- //recorro el array
- for(int i=0;i<texto.length();i++){
- caracterActual=texto.charAt(i);
- //Cuando es un espacio no lo copia a la cadena
- if(caracterActual!=' '){
- texto_sin_espacios+=String.valueOf(caracterActual);
- }
- }
- JOptionPane.showMessageDialog(null,
- "La frase tiene sin espacios es "+texto_sin_espacios,
- "Resultado",
- JOptionPane.INFORMATION_MESSAGE);
- }
- }
- 29) Pedir al usuario que nos escriba frases de forma infinita hasta que insertemos una cadena vacia. Mostrar la cadena resultante
- import javax.swing.JOptionPane;
- public class Ejercicio_basicos_DDR_29 {
- public static void main(String[] args) {
- String texto=JOptionPane.showInputDialog(null,
- "Introduce un texto, cadena vacia para terminar",
- "Introducir texto",
- JOptionPane.INFORMATION_MESSAGE);
- String cadenaResultante="";
- //Mientras no este vacio la cadena escrita continuo
- while(!texto.isEmpty()){
- //Concatenamos el texto
- cadenaResultante+=texto;
- //Reintroducimos de nuevo una cadena
- texto=JOptionPane.showInputDialog(null,
- "Introduce un texto, cadena vacia para terminar",
- "Introducir texto",
- JOptionPane.INFORMATION_MESSAGE);
- }
- JOptionPane.showMessageDialog(null,
- cadenaResultante,
- "Resultado",
- JOptionPane.INFORMATION_MESSAGE);
- }
- }
- 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.
- import javax.swing.JOptionPane;
- public class Ejercicio_basicos_DDR_30_v1 {
- public static void main(String[] args) {
- String texto=JOptionPane.showInputDialog(null,
- "Por favor, introduce una frase",
- "Introducción",
- JOptionPane.INFORMATION_MESSAGE);
- String cadenaResultante="";
- //true = Lo pasamos todo a mayusculas
- //false= Lo pasamos todo a minusculas
- boolean isMayus;
- final int DIFERENCIA=32;
- String[] opciones={"Mayusculas", "Minusculas"};
- int eleccion=JOptionPane.showOptionDialog(null,
- "Elige tu opcion",
- "Eleccion",
- JOptionPane.YES_NO_OPTION,
- JOptionPane.QUESTION_MESSAGE,
- null,
- opciones,
- opciones[0]);
- isMayus= (eleccion==JOptionPane.YES_OPTION);
- char caracterActual;
- for(int i=0;i<texto.length();i++){
- //obtenemos el caracter de la pos i
- caracterActual=texto.charAt(i);
- if(isMayus){
- //Si esta entre esos valores, lo cambia a mayucula
- // Puedes sustituir 97 por 'a' y asi con todos
- if(caracterActual>=97 && caracterActual<=122){
- cadenaResultante+=(char)(caracterActual-DIFERENCIA);
- }else{
- //Si no es un caracter alfabetico en minuscula, lo agregamos
- // sin hacerle nada
- cadenaResultante+=caracterActual;
- }
- }else{
- //Si esta entre esos valores, lo cambia a minuscula
- // Puedes sustituir 65 por 'A' y asi con todos
- if(caracterActual>=65 && caracterActual<=90){
- cadenaResultante+=(char)(caracterActual+DIFERENCIA);
- }else{
- //Si no es un caracter alfabetico en minuscula, lo agregamos
- // sin hacerle nada
- cadenaResultante+=caracterActual;
- }
- }
- }
- //Mostramos la cadena resultante
- JOptionPane.showMessageDialog(null,
- cadenaResultante,
- "Resultado",
- JOptionPane.INFORMATION_MESSAGE);
- }
- }
- 31) Mostrar la longitud de una cadena.
- public class Ejercicio_basicos_DDR_31 {
- public static void main(String[] args) {
- String cadena="Hola mundo";
- System.out.println("La cadena tiene "+cadena.length()+" caracteres");
- }
- }
- 32) Pedir dos palabras por teclado, indicar si son iguales.
- import java.util.Scanner;
- public class Ejercicio_basicos_DDR_32 {
- public static void main(String[] args) {
- //Creamos un scanner para leer
- Scanner sn = new Scanner(System.in);
- //Pedimos las palabras
- System.out.println("Escribe la palabra 1");
- String palabra1 = sn.next();
- System.out.println("Escribe la palabra 2");
- String palabra2 = sn.next();
- //Comparamos con el método equals
- //Con equalsIgnoreCase, no considera las mayusculas
- if(palabra1.equals(palabra2)){
- System.out.println("Las palabras son iguales");
- }else{
- System.out.println("Las palabras no son iguales");
- }
- }
- 33) Dada una cadena, extraer la cuarta y quinta letra usando el método substring.
- public class Ejercicio_basicos_DDR_33 {
- public static void main(String[] args) {
- String cadena= "Hola mundo";
- //CUIDADO: es 3 porque empieza en 0 las cadenas(cuarta letra)
- //el 5 es porque siempre hay que sumarle uno, ya que sino no mostraria lo que deseamos (quinta letra)
- String subcadena = cadena.substring(3, 5);
- System.out.println(subcadena);
- }
- }
- 34) Dada una frase, separarlo en palabras.
- import java.util.Scanner;
- public class Ejercicio_basicos_DDR_18 {
- public static void main(String[] args) {
- Scanner sn = new Scanner(System.in);
- //Hace que podamos escribir espacios en la frase y coja todo el String
- sn.useDelimiter("\n");
- System.out.println("Escribe una frase");
- String frase=sn.next();
- //Divido la frase en palabras
- String palabras[] = frase.split(" ");
- for(int i=0;i<palabras.length;i++){
- System.out.println(palabras[i]);
- }
- }
- }
- 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).
- public enum DiasSemana {
- LUNES,
- MARTES,
- MIERCOLES,
- JUEVES,
- VIERNES,
- SABADO,
- DOMINGO;
- }
- ---MAIN
- import java.util.Scanner;
- public class Ejercicio_basicos_DDR_35 {
- public static void main(String[] args) {
- Scanner sn = new Scanner(System.in);
- System.out.println("Escribe un dia de la semana");
- String dia = sn.next();
- DiasSemana diaS = DiasSemana.valueOf(dia.toUpperCase());
- switch(diaS){
- case LUNES:
- case MARTES:
- case MIERCOLES:
- case JUEVES:
- case VIERNES:
- System.out.println("El dia "+diaS.name().toLowerCase()+" es laborable");
- break;
- case SABADO:
- case DOMINGO:
- System.out.println("El dia "+diaS+" no es laborable");
- break;
- }
- }
- }
- 36) Modifica el anterior enum para indicar que es día laborable directamente (usar toString).
- -DiaSemana
- public enum DiasSemana {
- LUNES(true),
- MARTES(true),
- MIERCOLES(true),
- JUEVES(true),
- VIERNES(true),
- SABADO(false),
- DOMINGO(false);
- private boolean laborable;
- private DiasSemana(boolean laborable){
- this.laborable = laborable;
- }
- @Override
- public String toString() {
- if(laborable){
- return "El dia "+ this.name().toLowerCase() +" es laborable";
- }else{
- return "El dia "+ this.name().toLowerCase() +" no es laborable";
- }
- }
- }
- ---MAIN
- import java.util.Scanner;
- public class Ejercicio_basicos_DDR_36 {
- public static void main(String[] args) {
- Scanner sn = new Scanner(System.in);
- System.out.println("Escribe un dia de la semana");
- String dia = sn.next();
- DiasSemana diaS = DiasSemana.valueOf(dia.toUpperCase());
- System.out.println(diaS.toString());
- }
- }
- 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.
- ---MES
- public enum Mes {
- ENERO(1,31),
- FEBRERO(2,28),
- MARZO(3,31),
- ABRIL(4,30),
- MAYO(5,31),
- JUNIO(6,30),
- JULIO(7,31),
- AGOSTO(8,31),
- SEPTIEMBRE(9,30),
- OCTUBRE(10,31),
- NOVIEMBRE(11,30),
- DICIEMBRE(12,31);
- private int orden;
- private int numDias;
- private Mes(int orden, int numDias){
- this.orden=orden;
- this.numDias=numDias;
- }
- public int getOrden() {
- return orden;
- }
- public int getNumDias() {
- return numDias;
- }
- @Override
- public String toString() {
- return "El mes "+this.name().toLowerCase()+" es el mes "+orden+"º y tiene "+numDias+" dias";
- }
- }
- --------PRINCIPAL
- import java.util.Scanner;
- public class Ejercicio_basicos_DDR_24 {
- public static void main(String[] args) {
- Scanner sn = new Scanner(System.in);
- Mes[] meses = Mes.values();
- System.out.println("Escribe un numero de dias");
- int dias = sn.nextInt();
- for(int i=0;i<meses.length;i++){
- if(meses[i].getNumDias()==dias){
- System.out.println(meses[i].toString());
- }
- }
- }
- 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.
- import java.util.Scanner;
- public class Ejercicio_basicos_DDR_25 {
- public static void main(String[] args) {
- //Variables necesarias
- int numeroUsuario=0;
- int menor=0;
- int mayor=0;
- int suma=0;
- double media;
- int contador=-1;
- int sumaPositivos=0;
- int sumaNegativos=0;
- //Creamos el Scanner
- Scanner sn = new Scanner(System.in);
- do{
- //Comprobamos si el numero es menor
- //que el actual menor
- if(menor>numeroUsuario){
- menor = numeroUsuario;
- }
- //Comprobamos si el numero es mayor
- //que el actual mayor
- if(mayor<numeroUsuario){
- mayor=numeroUsuario;
- }
- //Suma el numero y lo acumulamos
- suma+=numeroUsuario;
- //Si el numero es positivo, suma a la variable de los positivos
- // y sino a la de los negativos
- if(numeroUsuario>=0){
- sumaPositivos+=numeroUsuario;
- }else{
- sumaNegativos+=numeroUsuario;
- }
- //aumento el contador
- contador++;
- //pido un numero al usuario
- System.out.println("Introduce un numero");
- numeroUsuario = sn.nextInt();
- //Cuando el usuario ponga un -1, saldremos
- //Se puede usar un while normal
- }while(numeroUsuario!=-1);
- //Calculamos la media
- media = (double) suma / contador;
- //Mostramos los valores
- System.out.println("El menor es: "+menor);
- System.out.println("El mayor es: "+mayor);
- System.out.println("La suma es: "+suma);
- System.out.println("La suma de los positivos es: "+sumaPositivos);
- System.out.println("La suma de los negativos es: "+sumaNegativos);
- System.out.println("La media es: "+media);
- }
- }
- 39) Realiza un reloj digital que muestre la hora sin parar.
- Debe esperar un segundo real para darle mas realismo.
- public class Ejercicio_basicos_DDR_26 {
- public static void main(String[] args) throws InterruptedException {
- //Variables
- int horas = 0, minutos = 0, segundos = 0;
- while (true) {
- //Mostrar
- //Si es menor que 10, escribimos un cero delante
- if (horas < 10) {
- System.out.print("0");
- }
- System.out.print(horas + ":");
- if (minutos < 10) {
- System.out.print("0");
- }
- System.out.print(minutos + ":");
- if (segundos < 10) {
- System.out.print("0");
- }
- //salto de linea
- System.out.println(segundos);
- //Aumentar el tiempo
- segundos++;
- //Comprobar el tiempo
- if (segundos == 60) {
- //reinicio los segundos
- segundos = 0;
- //aumento los minutos
- minutos++;
- if (minutos == 60) {
- //Reinicio los minutos
- minutos = 0;
- //Aumento las horas
- horas++;
- if (horas == 24) {
- //Reinicio las horas
- horas = 0;
- }
- }
- }
- Thread.sleep(1000);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement