Autor Tema: Ejercicios resueltos en java (JDK) leer números palabras aleatorios hasta cumpla  (Leído 1544 veces)

Whitercof

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola buenas, mira soy estudiante nuevo en ing en informática, y bueno mi profe de java no enseña muy bien y no logro realizar un ejercicio que puede parecer simple. He logrado hacer este ejercicio en pythom pero en java no me resulta (Se ocupa el procesador eclipce para realizar el codigo, sé que es mejor aprender con generador de texto pero mi clase es asi :c) Si me pudieran explicar el cómo realizarlo me ayudaría mucho, gracias

I ITEM PRÁCTICO.
I. Crear un programa con el siguiente menú:
Menú
******
1. Ejercicio 1
2. Ejercicio 2
3. Ejercicio 3
4. Ejercicio 4
5. Salir
Elegir opción:


Ejercicio 1:
Leer tres números por consola hasta que la resta del primero con el segundo sea igual al tercer número que se leyó. Mostrar la cantidad de intentos que se hicieron hasta obtener el
resultado deseado.

Ejercicio 2:
Leer 5 palabras y muestre con un mensaje si la palabra comienza con vocal o consonante.

Ejercicio 3:
Generar 100 números aleatorios y mostrar la cantidad de números pares y la cantidad de números impares.

Ejercicio 4:
Leer palabras hasta que se ingrese la palabra stop y mostrar las palabras que tengan más de 5 letras.
« Última modificación: 28 de Octubre 2020, 14:10 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re:Solicito ayuda con ejercicio en java (JDK)
« Respuesta #1 en: 12 de Septiembre 2020, 18:28 »
Citar
Se ocupa el procesador eclipce para realizar el codigo, se que es mejor aprender con generador de texto
Primero comentar que no estoy de acuerdo con esa afirmación.

Los entornos de desarrollo como Eclipse, NetBeans, IntelliJ,.... son una ayuda excelente.
Tienen cientos de funciones que los aprendices no vamos a usar, pero también tienen otras que sí son útiles.
Informan al usuario de si se ha escrito mal una instrucción, de si está llamando a una clase que requiere hacer un import, de si estamos intentando usar una variable que no se ha inicializado, o que está fuera de ámbito (scope), etc...
Son pequeñas ayudas que evitan que el usuario pierda demasiado tiempo corrigiendo la sintaxis de lo que ha escrito, y se pueda centrar más en desarrollar la lógica que el programa ha de seguir, que es lo importante y en lo que ninguna máquina podrá ayudarle.

Por supuesto, es importante ser capaz de evitar uno mismo todos esos errores y poder escribir un programa sin ayudas en cualquier editor, incluso en el Bloc de Notas de Windows...
Pero esa habilidad se va adquiriendo con el tiempo, a fuerza de escribir código cada día. Así que al principio mejor que los aprendices puedan centrarse en desarrollar lógica, y no en perder tiempo en buscar un fallo que puede ser tan tonto como haber escrito la palabra System todo en minúsuculas...


Dicho esto, sobre el programa que te piden.
Lo ideal es modularlo, usar un método/función para cada uno de los ejercicios que pide.
Así el programa principal, solo ha de mostrar un menú e invocar a la función que desarrolle el ejercicio escogido por el usuario.

Te dejo una posible solución, a ver si te sirve para entender mejor y familiarizarte con Java, y así en el futuro te sea más fácil desarrollar código por tu cuenta.
Cualquier cosa que no entiendas, por favor, pregúntala aquí en este mismo tema.

Un saludo.

Código: [Seleccionar]
import java.util.Random;
import java.util.Scanner;

public class MenuEjercicios {

private static Scanner teclado = new Scanner(System.in);

public static void main(String[] args) {
String opcion = "";

do {
System.out.println("\n\t\tOPCIONES");
System.out.println("(1) -- Leer tres números por consola");
System.out.println("(2) -- Leer cinco palabras");
System.out.println("(3) -- Generar cien aleatorios y contar pares/impares");
System.out.println("(4) -- Leer palabras y mostrar las que superan 5 letras");
System.out.println("(5) -- SALIR");
System.out.print("Opcion: ");
opcion = teclado.nextLine();

switch(opcion) {
case "1":
ejercicio1();
break;
case "2":
ejercicio2();
break;
case "3":
ejercicio3();
break;
case "4":
ejercicio4();
break;
case "5":
System.out.println("\n\t\tFIN DE PROGRAMA");
break;
default:
System.out.println("\nOpción errónea");
}

}while(!opcion.equals("5"));

}

/**
* Leer tres números por consola hasta que la resta del primero con el segundo sea igual al
* tercer número que se leyó. Mostrar la cantidad de intentos que se hicieron hasta obtener el
* resultado deseado.
*/
private static void ejercicio1() {

int intentos = 0;
int num1 = 0, num2 = 0, num3 = 0;

do {
intentos++;
System.out.print("\nPrimer número: ");
num1 = Integer.parseInt(teclado.nextLine());
System.out.print("\nSegundo número: ");
num2 = Integer.parseInt(teclado.nextLine());
System.out.print("\nTercer número: ");
num3 = Integer.parseInt(teclado.nextLine());
}while(num1 - num2 != num3);

System.out.println("\nIntentos necesarios: " + intentos);

System.out.println("\n\t\tPulsa INTRO para continuar...");
teclado.nextLine();
}

/**
* Leer 5 palabras y muestre con un mensaje si la palabra comienza con vocal o consonante.
*/
private static void ejercicio2() {

for (int i = 1; i <= 5; i++) {
System.out.print("\nPalabra: ");
String palabra = teclado.nextLine().toLowerCase();

char comienzo = palabra.charAt(0);

switch(comienzo) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("Comienza por vocal");
break;
default:
System.out.println("Comienza por consonante");
}
}

System.out.println("\n\t\tPulsa INTRO para continuar...");
teclado.nextLine();
}

/**
* Generar 100 números aleatorios y mostrar la cantidad de números pares
* y la cantidad de números impares.
*/
private static void ejercicio3() {
//Con la clase Random obtendremos números aleatorios
Random azar = new Random();
int pares = 0, impares = 0;

//Un número es par si al dividir entre 2, su resto es 0.
//Para eso usamos el operador MODULO, en Java es --> %
for (int i = 1; i <= 100; i++) {
if (azar.nextInt() % 2 == 0)
pares++;
else
impares++;
}

System.out.println("\n100 números aleatorios generados...");
System.out.println("Cantidad pares: " + pares);
System.out.println("Cantidad impares: " + impares);

System.out.println("\n\t\tPulsa INTRO para continuar...");
teclado.nextLine();
}

/**
* Leer palabras hasta que se ingrese la palabra stop y mostrar
* las palabras que tengan mas de 5 letras.
*/
private static void ejercicio4() {
/*
* Con la clase StringBuilder podemos concatenar
* juntas las palabras que superen 5 letras.
*/
StringBuilder palabras5 = new StringBuilder();
String palabra = "";

System.out.println("\nIntroduzca palabras.\nPara terminar ingrese stop");
while (!palabra.equals("stop")) {
System.out.print("Palabra: ");
palabra = teclado.nextLine();
if (palabra.length() > 5)
palabras5.append(palabra +"\n");
}

System.out.println("\nPalabras introducidas que superan las 5 letras:");
System.out.println(palabras5.toString());

System.out.println("\n\t\tPulsa INTRO para continuar...");
teclado.nextLine();
}

}

« Última modificación: 28 de Octubre 2020, 14:10 por Ogramar »
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".