Advertisement
Guest User

ultimos ejercicios java

a guest
Feb 20th, 2020
709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.20 KB | None | 0 0
  1.  
  2. 21) Muestra los números primos entre 1 y 100.
  3. import java.util.Scanner;
  4.  
  5. public class MuestraPrimosApp {
  6.  
  7. public static void main(String[] args) {
  8.  
  9. for (int i=1;i<=100;i++){
  10. //Hacemos un casting para que nos devuelva un numero entero
  11. int raiz=(int)Math.sqrt(i);
  12. int contador=0;
  13.  
  14. //Hacemos otro bucle para contar los divisibles
  15. for (int j=raiz;j>1;j--){
  16. if (i%j==0){
  17. contador++;
  18. }
  19. }
  20.  
  21. /*Segun el numero de divisibles, sabemos si es primo o no
  22. * Si es primo el contador sera 0
  23. */
  24.  
  25. if (contador<1){
  26. System.out.println(i);
  27. }
  28.  
  29. }
  30. }
  31. }
  32. 22) Del siguiente String “La lluvia en Sevilla es una maravilla” cuenta cuantas vocales hay en total (recorre el String con charAt).
  33.  
  34. public class Principal {
  35.  
  36. public static void main(String[] args) {
  37.  
  38. String cadena="La lluvia en Sevilla es una maravilla";
  39.  
  40. int contador=0;
  41. for (int i=0;i<cadena.length();i++){
  42. //Comprobamos si el caracter es una vocal
  43. if(cadena.charAt(i)=='a' ||
  44. cadena.charAt(i)=='e' ||
  45. cadena.charAt(i)=='i' ||
  46. cadena.charAt(i)=='o' ||
  47. cadena.charAt(i)=='u'){
  48. contador++;
  49. }
  50. }
  51.  
  52. System.out.println("Hay "+contador+" vocales");
  53. }
  54. }
  55.  
  56.  
  57. 23) Reemplaza todas las a del String anterior por una e.
  58.  
  59. public class CambioLetrasApp {
  60.  
  61. public static void main(String[] args) {
  62.  
  63. String cadena="La lluvia en Sevilla es una maravilla";
  64.  
  65. //Aviso, de esta forma no modifica el String original
  66. System.out.print(cadena.replace('a', 'e'));
  67.  
  68. }
  69. }
  70.  
  71. 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.
  72.  
  73. public class ListaCaracteresApp {
  74.  
  75. public static void main(String[] args) {
  76.  
  77. String cadena="La lluvia en Sevilla es una maravilla";
  78.  
  79. for (int i=0;i<cadena.length();i++){
  80. //Hacemos un casting para convertir el char a int
  81. System.out.print((int)cadena.charAt(i)+" ");
  82. }
  83. }
  84. }
  85.  
  86. 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.
  87. Los signos aritméticos disponibles son:
  88.  
  89. +: suma los dos operandos.
  90. -: resta los operandos.
  91. *: multiplica los operandos.
  92. /: divide los operandos, este debe dar un resultado con decimales (double)
  93. ^: 1º operando como base y 2º como exponente.
  94. %: módulo, resto de la división entre operando1 y operando2.
  95. Spoiler Inside SelectShow
  96.  
  97. import java.util.Locale;
  98. import java.util.Scanner;
  99. public class CalculadoraPolacaInversaApp {
  100.  
  101. public static void main(String[] args) {
  102.  
  103. Scanner sc = new Scanner(System.in);
  104. sc.useLocale(Locale.US);
  105. //no importa que sean int o double
  106. double operando1;
  107. double operando2;
  108. double resultado=0;
  109.  
  110. //Nos pide los operandos y el signo de operacion
  111. System.out.println("Escribe el operando 1");
  112. operando1=sc.nextDouble();
  113.  
  114. System.out.println("Escribe el codigo de operacion");
  115. String operacion = sc.next();
  116.  
  117. System.out.println("Escribe el operando 2");
  118. operando2=sc.nextDouble();
  119.  
  120. //segun el codigo de operacion, haremos una u otra accion
  121. switch (operacion){
  122. case "+":
  123. resultado=operando1+operando2;
  124. break;
  125. case "-":
  126. resultado=operando1-operando2;
  127. break;
  128. case "*":
  129. resultado=operando1*operando2;
  130. break;
  131. case "/":
  132. resultado=operando1/operando2;
  133. break;
  134. case "^":
  135. resultado=(int)Math.pow(operando1, operando2);
  136. break;
  137. case "%":
  138. resultado=operando1%operando2;
  139. break;
  140. }
  141.  
  142. System.out.println( operando1+" "+operacion+" "+operando2+" = "+resultado);
  143.  
  144. }
  145. }
  146.  
  147.  
  148. 26) Realizar la suma del 1 al numero que indiquemos, este debe ser mayor que 1.
  149.  
  150. import java.util.Scanner;
  151.  
  152. public class Ejercicio_26 {
  153.  
  154. public static void main(String[] args) {
  155.  
  156. Scanner sn=new Scanner(System.in);
  157.  
  158.  
  159. System.out.println("Inserta un numero entero mayor que 1");
  160. int num;
  161.  
  162. do{
  163. //Pedimos el primer número
  164. num=sn.nextInt();
  165.  
  166. if(num<=1){
  167. System.out.println("Error. No has introducido un valor correcto."
  168. + "Vuelve a intentarlo");
  169. }
  170.  
  171. }while(!(num>=1)); //condición para salir
  172.  
  173. int suma=0;
  174.  
  175. //Realizamos la suma
  176. for(int contador=1;contador<=num;contador++){
  177. suma+=contador;
  178. }
  179.  
  180. System.out.println("La suma es: "+suma);
  181.  
  182. }
  183.  
  184. }
  185.  
  186.  
  187. 27) Crear una aplicación que nos permite insertar números hasta que insertemos un -1. Calcular el numero de números introducidos.
  188.  
  189. import java.util.Scanner;
  190.  
  191. public class Ejercicio_27 {
  192.  
  193. public static void main(String[] args) {
  194.  
  195. //Pedimos el numero
  196. Scanner sn=new Scanner(System.in);
  197. int num=sn.nextInt();
  198.  
  199. int contador=0;
  200.  
  201. //Hasta que no se introduzca -1 no se sale
  202. while(num!=-1){
  203.  
  204. contador++;
  205.  
  206. num=sn.nextInt(); //Pedimos de nuevo el número
  207.  
  208. }
  209.  
  210. System.out.println("Fin, se ha introducido "+contador+" numeros");
  211.  
  212. }
  213.  
  214. }
  215.  
  216. 28) Eliminar los espacios de una frase pasada por consola por el usuario.
  217.  
  218.  
  219. import javax.swing.JOptionPane;
  220.  
  221. public class Ejercicio_basicos_DDR_28 {
  222.  
  223. public static void main(String[] args) {
  224.  
  225. String texto=JOptionPane.showInputDialog(null,
  226. "Inserta una frase",
  227. "Inserción",
  228. JOptionPane.INFORMATION_MESSAGE);
  229.  
  230. //usado para almacenar el texto final
  231. String texto_sin_espacios="";
  232.  
  233. char caracterActual;
  234.  
  235. //recorro el array
  236. for(int i=0;i<texto.length();i++){
  237.  
  238. caracterActual=texto.charAt(i);
  239.  
  240. //Cuando es un espacio no lo copia a la cadena
  241. if(caracterActual!=' '){
  242. texto_sin_espacios+=String.valueOf(caracterActual);
  243. }
  244.  
  245. }
  246.  
  247. JOptionPane.showMessageDialog(null,
  248. "La frase tiene sin espacios es "+texto_sin_espacios,
  249. "Resultado",
  250. JOptionPane.INFORMATION_MESSAGE);
  251.  
  252. }
  253.  
  254. }
  255.  
  256.  
  257. 29) Pedir al usuario que nos escriba frases de forma infinita hasta que insertemos una cadena vacia. Mostrar la cadena resultante
  258.  
  259. import javax.swing.JOptionPane;
  260.  
  261. public class Ejercicio_basicos_DDR_29 {
  262.  
  263. public static void main(String[] args) {
  264.  
  265. String texto=JOptionPane.showInputDialog(null,
  266. "Introduce un texto, cadena vacia para terminar",
  267. "Introducir texto",
  268. JOptionPane.INFORMATION_MESSAGE);
  269.  
  270. String cadenaResultante="";
  271.  
  272. //Mientras no este vacio la cadena escrita continuo
  273. while(!texto.isEmpty()){
  274.  
  275. //Concatenamos el texto
  276. cadenaResultante+=texto;
  277.  
  278. //Reintroducimos de nuevo una cadena
  279. texto=JOptionPane.showInputDialog(null,
  280. "Introduce un texto, cadena vacia para terminar",
  281. "Introducir texto",
  282. JOptionPane.INFORMATION_MESSAGE);
  283.  
  284. }
  285.  
  286. JOptionPane.showMessageDialog(null,
  287. cadenaResultante,
  288. "Resultado",
  289. JOptionPane.INFORMATION_MESSAGE);
  290.  
  291. }
  292.  
  293. }
  294.  
  295. 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.
  296.  
  297. import javax.swing.JOptionPane;
  298.  
  299. public class Ejercicio_basicos_DDR_30_v1 {
  300.  
  301. public static void main(String[] args) {
  302.  
  303. String texto=JOptionPane.showInputDialog(null,
  304. "Por favor, introduce una frase",
  305. "Introducción",
  306. JOptionPane.INFORMATION_MESSAGE);
  307.  
  308. String cadenaResultante="";
  309.  
  310. //true = Lo pasamos todo a mayusculas
  311. //false= Lo pasamos todo a minusculas
  312. boolean isMayus;
  313. final int DIFERENCIA=32;
  314.  
  315. String[] opciones={"Mayusculas", "Minusculas"};
  316. int eleccion=JOptionPane.showOptionDialog(null,
  317. "Elige tu opcion",
  318. "Eleccion",
  319. JOptionPane.YES_NO_OPTION,
  320. JOptionPane.QUESTION_MESSAGE,
  321. null,
  322. opciones,
  323. opciones[0]);
  324.  
  325.  
  326. isMayus= (eleccion==JOptionPane.YES_OPTION);
  327.  
  328. char caracterActual;
  329.  
  330. for(int i=0;i<texto.length();i++){
  331.  
  332. //obtenemos el caracter de la pos i
  333. caracterActual=texto.charAt(i);
  334.  
  335. if(isMayus){
  336.  
  337. //Si esta entre esos valores, lo cambia a mayucula
  338. // Puedes sustituir 97 por 'a' y asi con todos
  339. if(caracterActual>=97 && caracterActual<=122){
  340. cadenaResultante+=(char)(caracterActual-DIFERENCIA);
  341. }else{
  342. //Si no es un caracter alfabetico en minuscula, lo agregamos
  343. // sin hacerle nada
  344. cadenaResultante+=caracterActual;
  345. }
  346.  
  347. }else{
  348.  
  349. //Si esta entre esos valores, lo cambia a minuscula
  350. // Puedes sustituir 65 por 'A' y asi con todos
  351. if(caracterActual>=65 && caracterActual<=90){
  352. cadenaResultante+=(char)(caracterActual+DIFERENCIA);
  353. }else{
  354. //Si no es un caracter alfabetico en minuscula, lo agregamos
  355. // sin hacerle nada
  356. cadenaResultante+=caracterActual;
  357. }
  358.  
  359. }
  360. }
  361.  
  362. //Mostramos la cadena resultante
  363. JOptionPane.showMessageDialog(null,
  364. cadenaResultante,
  365. "Resultado",
  366. JOptionPane.INFORMATION_MESSAGE);
  367.  
  368. }
  369.  
  370. }
  371.  
  372. 31) Mostrar la longitud de una cadena.
  373.  
  374. public class Ejercicio_basicos_DDR_31 {
  375.  
  376. public static void main(String[] args) {
  377.  
  378. String cadena="Hola mundo";
  379.  
  380. System.out.println("La cadena tiene "+cadena.length()+" caracteres");
  381.  
  382. }
  383.  
  384. }
  385.  
  386. 32) Pedir dos palabras por teclado, indicar si son iguales.
  387.  
  388. import java.util.Scanner;
  389.  
  390. public class Ejercicio_basicos_DDR_32 {
  391.  
  392. public static void main(String[] args) {
  393.  
  394. //Creamos un scanner para leer
  395. Scanner sn = new Scanner(System.in);
  396.  
  397. //Pedimos las palabras
  398. System.out.println("Escribe la palabra 1");
  399. String palabra1 = sn.next();
  400.  
  401. System.out.println("Escribe la palabra 2");
  402. String palabra2 = sn.next();
  403.  
  404. //Comparamos con el método equals
  405. //Con equalsIgnoreCase, no considera las mayusculas
  406. if(palabra1.equals(palabra2)){
  407. System.out.println("Las palabras son iguales");
  408. }else{
  409. System.out.println("Las palabras no son iguales");
  410. }
  411.  
  412. }
  413.  
  414. 33) Dada una cadena, extraer la cuarta y quinta letra usando el método substring.
  415.  
  416. public class Ejercicio_basicos_DDR_33 {
  417.  
  418. public static void main(String[] args) {
  419.  
  420. String cadena= "Hola mundo";
  421.  
  422. //CUIDADO: es 3 porque empieza en 0 las cadenas(cuarta letra)
  423. //el 5 es porque siempre hay que sumarle uno, ya que sino no mostraria lo que deseamos (quinta letra)
  424. String subcadena = cadena.substring(3, 5);
  425.  
  426. System.out.println(subcadena);
  427.  
  428. }
  429.  
  430. }
  431.  
  432. 34) Dada una frase, separarlo en palabras.
  433.  
  434. import java.util.Scanner;
  435.  
  436. public class Ejercicio_basicos_DDR_18 {
  437.  
  438. public static void main(String[] args) {
  439.  
  440. Scanner sn = new Scanner(System.in);
  441. //Hace que podamos escribir espacios en la frase y coja todo el String
  442. sn.useDelimiter("\n");
  443.  
  444. System.out.println("Escribe una frase");
  445. String frase=sn.next();
  446.  
  447. //Divido la frase en palabras
  448. String palabras[] = frase.split(" ");
  449.  
  450. for(int i=0;i<palabras.length;i++){
  451. System.out.println(palabras[i]);
  452. }
  453.  
  454. }
  455.  
  456. }
  457.  
  458. 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).
  459.  
  460. public enum DiasSemana {
  461. LUNES,
  462. MARTES,
  463. MIERCOLES,
  464. JUEVES,
  465. VIERNES,
  466. SABADO,
  467. DOMINGO;
  468.  
  469. }
  470.  
  471. ---MAIN
  472.  
  473. import java.util.Scanner;
  474.  
  475. public class Ejercicio_basicos_DDR_35 {
  476.  
  477. public static void main(String[] args) {
  478.  
  479. Scanner sn = new Scanner(System.in);
  480. System.out.println("Escribe un dia de la semana");
  481. String dia = sn.next();
  482.  
  483. DiasSemana diaS = DiasSemana.valueOf(dia.toUpperCase());
  484.  
  485. switch(diaS){
  486. case LUNES:
  487. case MARTES:
  488. case MIERCOLES:
  489. case JUEVES:
  490. case VIERNES:
  491. System.out.println("El dia "+diaS.name().toLowerCase()+" es laborable");
  492. break;
  493. case SABADO:
  494. case DOMINGO:
  495. System.out.println("El dia "+diaS+" no es laborable");
  496. break;
  497.  
  498. }
  499.  
  500. }
  501.  
  502. }
  503.  
  504. 36) Modifica el anterior enum para indicar que es día laborable directamente (usar toString).
  505.  
  506. -DiaSemana
  507.  
  508. public enum DiasSemana {
  509. LUNES(true),
  510. MARTES(true),
  511. MIERCOLES(true),
  512. JUEVES(true),
  513. VIERNES(true),
  514. SABADO(false),
  515. DOMINGO(false);
  516.  
  517. private boolean laborable;
  518.  
  519. private DiasSemana(boolean laborable){
  520. this.laborable = laborable;
  521. }
  522.  
  523. @Override
  524. public String toString() {
  525.  
  526. if(laborable){
  527. return "El dia "+ this.name().toLowerCase() +" es laborable";
  528. }else{
  529. return "El dia "+ this.name().toLowerCase() +" no es laborable";
  530. }
  531.  
  532. }
  533.  
  534.  
  535. }
  536.  
  537.  
  538. ---MAIN
  539.  
  540. import java.util.Scanner;
  541.  
  542. public class Ejercicio_basicos_DDR_36 {
  543.  
  544. public static void main(String[] args) {
  545.  
  546. Scanner sn = new Scanner(System.in);
  547. System.out.println("Escribe un dia de la semana");
  548. String dia = sn.next();
  549.  
  550. DiasSemana diaS = DiasSemana.valueOf(dia.toUpperCase());
  551.  
  552. System.out.println(diaS.toString());
  553.  
  554. }
  555.  
  556. }
  557.  
  558. 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).
  559.  
  560. Estos datos pueden pedirse por separado, asi que tienes que hacer sus respectivos get. No son necesarios los setters.
  561.  
  562. 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).
  563.  
  564. Por ejemplo, si escribes un 28, este te devolvera la informacion de FEBRERO.
  565.  
  566.  
  567.  
  568.  
  569.  
  570. ---MES
  571. public enum Mes {
  572. ENERO(1,31),
  573. FEBRERO(2,28),
  574. MARZO(3,31),
  575. ABRIL(4,30),
  576. MAYO(5,31),
  577. JUNIO(6,30),
  578. JULIO(7,31),
  579. AGOSTO(8,31),
  580. SEPTIEMBRE(9,30),
  581. OCTUBRE(10,31),
  582. NOVIEMBRE(11,30),
  583. DICIEMBRE(12,31);
  584.  
  585. private int orden;
  586. private int numDias;
  587.  
  588. private Mes(int orden, int numDias){
  589.  
  590. this.orden=orden;
  591. this.numDias=numDias;
  592.  
  593. }
  594.  
  595. public int getOrden() {
  596. return orden;
  597. }
  598.  
  599. public int getNumDias() {
  600. return numDias;
  601. }
  602.  
  603. @Override
  604. public String toString() {
  605. return "El mes "+this.name().toLowerCase()+" es el mes "+orden+"º y tiene "+numDias+" dias";
  606. }
  607.  
  608.  
  609. }
  610.  
  611.  
  612. --------PRINCIPAL
  613. import java.util.Scanner;
  614.  
  615. public class Ejercicio_basicos_DDR_24 {
  616.  
  617. public static void main(String[] args) {
  618.  
  619. Scanner sn = new Scanner(System.in);
  620.  
  621. Mes[] meses = Mes.values();
  622.  
  623. System.out.println("Escribe un numero de dias");
  624. int dias = sn.nextInt();
  625.  
  626. for(int i=0;i<meses.length;i++){
  627.  
  628. if(meses[i].getNumDias()==dias){
  629. System.out.println(meses[i].toString());
  630. }
  631.  
  632. }
  633.  
  634. }
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643. 38) Pedir números al usuario y cuando el usuario meta un -1 se terminará el programa.
  644. Al terminar, mostrará lo siguiente:
  645. – mayor numero introducido
  646. – menor numero introducido
  647. – suma de todos los numeros
  648. – suma de los numeros positivos
  649. – suma de los numeros negativos
  650. – media de la suma (la primera que pido)
  651.  
  652. El número -1 no contara como número.
  653.  
  654. import java.util.Scanner;
  655.  
  656. public class Ejercicio_basicos_DDR_25 {
  657.  
  658. public static void main(String[] args) {
  659.  
  660. //Variables necesarias
  661. int numeroUsuario=0;
  662. int menor=0;
  663. int mayor=0;
  664. int suma=0;
  665. double media;
  666. int contador=-1;
  667. int sumaPositivos=0;
  668. int sumaNegativos=0;
  669.  
  670. //Creamos el Scanner
  671. Scanner sn = new Scanner(System.in);
  672.  
  673. do{
  674.  
  675. //Comprobamos si el numero es menor
  676. //que el actual menor
  677. if(menor>numeroUsuario){
  678. menor = numeroUsuario;
  679. }
  680.  
  681. //Comprobamos si el numero es mayor
  682. //que el actual mayor
  683. if(mayor<numeroUsuario){
  684. mayor=numeroUsuario;
  685. }
  686.  
  687. //Suma el numero y lo acumulamos
  688. suma+=numeroUsuario;
  689.  
  690. //Si el numero es positivo, suma a la variable de los positivos
  691. // y sino a la de los negativos
  692. if(numeroUsuario>=0){
  693. sumaPositivos+=numeroUsuario;
  694. }else{
  695. sumaNegativos+=numeroUsuario;
  696. }
  697.  
  698. //aumento el contador
  699. contador++;
  700.  
  701. //pido un numero al usuario
  702. System.out.println("Introduce un numero");
  703. numeroUsuario = sn.nextInt();
  704.  
  705. //Cuando el usuario ponga un -1, saldremos
  706. //Se puede usar un while normal
  707. }while(numeroUsuario!=-1);
  708.  
  709. //Calculamos la media
  710. media = (double) suma / contador;
  711.  
  712. //Mostramos los valores
  713. System.out.println("El menor es: "+menor);
  714. System.out.println("El mayor es: "+mayor);
  715. System.out.println("La suma es: "+suma);
  716. System.out.println("La suma de los positivos es: "+sumaPositivos);
  717. System.out.println("La suma de los negativos es: "+sumaNegativos);
  718. System.out.println("La media es: "+media);
  719.  
  720. }
  721.  
  722. }
  723.  
  724.  
  725.  
  726.  
  727. 39) Realiza un reloj digital que muestre la hora sin parar.
  728.  
  729. Debe esperar un segundo real para darle mas realismo.
  730.  
  731. public class Ejercicio_basicos_DDR_26 {
  732.  
  733. public static void main(String[] args) throws InterruptedException {
  734.  
  735. //Variables
  736. int horas = 0, minutos = 0, segundos = 0;
  737.  
  738. while (true) {
  739.  
  740. //Mostrar
  741. //Si es menor que 10, escribimos un cero delante
  742. if (horas < 10) {
  743. System.out.print("0");
  744. }
  745.  
  746. System.out.print(horas + ":");
  747.  
  748. if (minutos < 10) {
  749. System.out.print("0");
  750. }
  751.  
  752. System.out.print(minutos + ":");
  753.  
  754. if (segundos < 10) {
  755. System.out.print("0");
  756. }
  757.  
  758. //salto de linea
  759. System.out.println(segundos);
  760.  
  761. //Aumentar el tiempo
  762. segundos++;
  763.  
  764. //Comprobar el tiempo
  765. if (segundos == 60) {
  766. //reinicio los segundos
  767. segundos = 0;
  768. //aumento los minutos
  769. minutos++;
  770. if (minutos == 60) {
  771. //Reinicio los minutos
  772. minutos = 0;
  773. //Aumento las horas
  774. horas++;
  775. if (horas == 24) {
  776. //Reinicio las horas
  777. horas = 0;
  778. }
  779. }
  780. }
  781.  
  782. Thread.sleep(1000);
  783.  
  784. }
  785.  
  786. }
  787.  
  788. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement