Java - programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

 
Vista:

programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

Publicado por laura (4 intervenciones) el 08/12/2020 01:25:18
Enunciado ejercicio:

Una deportista entrena en la piscina haciendo un largo de ida a estilo crol, un largo de vuelta a estilo espalda, un largo de ida a estilo braza y de nuevo vuelta a estilo espalda, y así sucesivamente.

Implementar un programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora. Debe estar en el rango 0-50, ambos valores incluidos. Si el valor no está en el rango permitido deberá volverse a solicitar para que se introduzca una cantidad válida. Se permitirá introducir hasta tres valores (tres intentos). Un tercer intento no válido hará que el programa finalice sin calcular nada indicando que se ha superado el máximo de intentos erróneos. Los valores límite del número de largos que se usarán para las comprobaciones (mínimo 0, máximo 50) deben estar almacenados como variables de tipo constante en lugar de usar literales. También debe usarse una variable de tipo constante para almacenar el número máximo de intentos (tres).

En el caso de que se haya introducido finalmente una cantidad válida se procederá a componer, utilizando obligatoriamente un bucle, una cadena de caracteres donde se representará el desarrollo de cada uno de los largos que ha realizado la nadadora durante su entrenamiento. La cadena, que se mostrará finalmente como resultado de la ejecución del programa, tendrá la siguiente estructura:

comenzará con una apertura de llave (carácter '{') y un espacio en blanco;
se irá indicando cómo se ha hecho cada largo alternando las palabras “Crol”, “Espalda”, “Braza”, “Espalda”, “Crol”, “Espalda”, etc. Cada palabra debe ir separada de la anterior y de la siguiente por un espacio;
se terminará con un espacio en blanco y el cierre de llave (carácter '}').
Si se introducen cero largos como entrada, simplemente se mostrará una lista vacía de largos entre llaves.

El código del programa se plantea así (He indicado donde no se que poner con *AQUÍ NO SE QUE PONER*):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
public class Ejercicio04 {
 
    public static void main(String[] args) {
        //----------------------------------------------
        //          Declaración de variables
        //----------------------------------------------
        // Constantes
 
        final int MINIMO_LARGOS = 0;
        final int MAXIMO_LARGOS = 50;
        final int INTENTOS_MAXIMO = 3;
 
        // Variables de entrada
 
        int numeroLargos = 0;
        int numeroIntentos = 0;
 
        // Variables de salida
 
        String listaLargos = "";
        String aperturaCadena = "{";
        String cierreCadena = " }";
        String entradaNoValida = "Entrada no válida";
 
        // Variables auxiliares
 
        boolean entradaValida = true;
 
        // Clase Scanner para petición de datos
        Scanner teclado = new Scanner(System.in);
 
        //----------------------------------------------
        //                Entrada de datos
        //----------------------------------------------
        System.out.println("ENTRENAMIENTO DE NATACIÓN");
        System.out.println("-------------------------");
 
        do {
            System.out.printf("Introduzca el número de largos realizados (entre 0 y 50): ");
            numeroLargos = teclado.nextInt();
            numeroIntentos++;
            if (numeroLargos < MINIMO_LARGOS || numeroLargos > MAXIMO_LARGOS)
                entradaValida = false;
        } while (!entradaValida && numeroIntentos < INTENTOS_MAXIMO);
 
 
        //----------------------------------------------
        //                 Procesamiento
        //----------------------------------------------
 
        for (int largo = 1; largo <= numeroLargos; largo++) {
 
            if (largo % 2 == 0){
                listaLargos = listaLargos + " espalda";
 
            } else if (*AQUÍ NO SE QUE PONER*) {
                listaLargos = listaLargos + " crol";
 
            } else {
                listaLargos = listaLargos + " braza";
            }
        }
 
 
 
        //----------------------------------------------
        //              Salida de resultados
        //----------------------------------------------
        System.out.println();
        System.out.println("DESARROLLO DE LARGOS");
        System.out.println("--------------------");
 
        if(entradaValida){
            System.out.println (aperturaCadena + listaLargos + cierreCadena);
        } else {
            System.out.println (entradaNoValida);
        }
 
 
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

Publicado por Rodrigo (623 intervenciones) el 08/12/2020 02:55:26
En vez de hacerlo % 2 haz % (numero de opciones), por ejemplo % 4 (si es que fueran 4 opciones).

No te conviene mas tener un arreglo de strings con todas las opciones, y usar el valor que te resulta de largo % <numero de opciones> como indice de este?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

Publicado por Laura (4 intervenciones) el 08/12/2020 15:04:59
No entiendo como poner eso que dices, ¿me podrías indicar en el código como sería?
Aclaro que apenas estoy empezando con programación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

Publicado por Rodrigo (623 intervenciones) el 08/12/2020 15:47:12
Un codigo que muestra la idea sugerida:

1
2
3
4
5
6
7
8
9
10
public class Idea
{
	public static void main(String[] args) {
	    String opciones[] = { "a", "b", "c", "d" };
 
	    for(int i = 0; i < 10; i++) {
            System.out.println(opciones[i % 4]);
	    }
	}
}

Reemplaza todos los ifs y else de las lineas 53 a 60 por solo 1 operacion.
Usa un arreglo con las opciones a imprimir / asignar.

Reemplazando con los strings de tu problema especifico, y en vez de escribir directamente, asignar

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Idea
{
	public static void main(String[] args) {
	    String opciones[] = { "Crol", "Espalda", "Braza", "Espalda" };
 
	    String lista = "{ ";
	    for(int i = 0; i < 10; i++) {
	        lista += opciones[i % 4] + " ";
	    }
	    lista += "}";
	    System.out.println(lista);
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

Publicado por laura (4 intervenciones) el 08/12/2020 16:27:36
Esto que dices al integrarlo así no sirve, también he intentado adaptarlo y tampoco sirve. Hay que tener en cuenta que en la salida de resultados si no se mete un numero correcto debe salir por pantalla: Entrada no válida, por lo que hay que poner el condicional. No se si me explico. Y no se si has tenido en cuenta el enunciado de la actividad, debe imprimirse en este orden: “Crol”, “Espalda”, “Braza”, “Espalda”, “Crol”, “Espalda”, etc. Por lo que espalda son pares y crol por ejemplo sigue la secuencia 1, 5, 9, 13, 17, etc.
No se si es que no te estoy entendiendo yo a ti o al revés XD
Me he echo un completo lío con esta actividad, el profesor propuso esa estructura que tengo escrita y dijo que teníamos que pensar que iba entre paréntesis donde lo he indicado arriba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

programa en Java que solicite al usuario la cantidad de largos que ha hecho la nadadora

Publicado por laura (4 intervenciones) el 08/12/2020 16:56:21
Vale, ya lo he resuelto XD
No hay que cambiar la estructura ni nada, era tan simple como poner entre paréntesis donde yo lo indicaba una operación parecida a la de espalda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar