Java - Enumerar bucle java

 
Vista:

Enumerar bucle java

Publicado por Jose (6 intervenciones) el 24/10/2020 15:13:17
Hola a todos:

Gracias por vuestra ayuda. Estoy empezando en esto de la programación y para resolver un ejercicio me piden, entre otras cosas, que enumere las filas de un bucle.


Me piden que escriba un programa en Java que solicite por teclado un número de filas (entre 1 y 10) y que genere una cadena de caracteres con una escalera del siguiente tipo: en cada fila habrá una cantidad de números igual al número de filas en las que se esté. Se empezará contando desde el 1 en la primera fila y ese contador se irá "arrastrando" en cada fila sucesiva. Al principio de cada fila se debe escribir el número de fila, dos puntos y la secuencia del contador incrementándose. Si se introduce una cantidad de filas que no se encuentra en el rango permitido (1-10, ambos inclusive), el programa volverá a solicitar la cantidad de filas hasta que ésta sea correcta el número de veces que sea necesario. Una vez que se haya construido la cadena con la escalera debes mostrarla por pantalla como resultado final del programa.

Os enseño como lo he planteado:

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
int filas;
        int contador = 1;
        int cantidadInicial=1;
        int cantidadActual= cantidadInicial - 1;
        String resultado="";
 
 do  {
        System.out.print("Introduzca número de filas (1-10): ");
        filas=teclado.nextInt();
        contador ++;
 
        }while ((filas<0)||(filas>10));
 
        if (filas<=10)
        for (int i=1; i<=filas;i++) {
 
            System.out.println("");
 
            for (int j=1; j<=i;j++) {
            cantidadActual = cantidadActual + 1;
            resultado = resultado + cantidadActual + " ";
 
        }
            resultado =  resultado + "\n";
        }


El problema es que no sé enumerar las filas y es lo último que me queda para resolver el ejercicio. Os agradecería mucho si me podéis echar una mano porque no sé como plantearlo sin cargarme lo que ya he hecho.

Gracias de antemano,

Jose
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: 1.956
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Enumerar bucle java

Publicado por Rodrigo (521 intervenciones) el 24/10/2020 16:34:32
No se si te refieres a poner el numero inicial de cada fila o a los numeros que van en cada fila.
Supondre lo primero:

Sugiero cambiar:

1
System.out.println("");
por

1
System.out.println(i + ": ");
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

Enumerar bucle java

Publicado por Jose (6 intervenciones) el 24/10/2020 18:14:29
Buenas Rodrigo:

Gracias por tu respuesta. Lo que me dices lo probé pero lo que se me imprime por pantalla es esto:

Introduzca número de filas (1-10): 3
1:
2:
3:

RESULTADO
---------
1
2 3
4 5 6

Lo que yo quiero que aparezca es esto:

1: 1
2: 2 3
3: 4 5 6


Te añado por qué me sale así ya que he decidido mostrar los resultados al final:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
}while ((filas<0)||(filas>10));
 
if (filas<=10)
for (int i=1; i<=filas;i++) {
 
    System.out.println("");
 
    for (int j=1; j<=i;j++) {
    cantidadActual = cantidadActual + 1;
    resultado = resultado + cantidadActual + " ";
 
}
    resultado =  resultado + "\n";
}
 
 
//              Solución
 
System.out.println(resultado);

Gracias de nuevo por tu respuesta,

Jose
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: 1.956
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Enumerar bucle java

Publicado por Rodrigo (521 intervenciones) el 24/10/2020 20:23:41
Intenta seguir estas instrucciones:
- Escribe usando el print que te recomende antes, antes del ciclo
- Haz que resultado sea "" justo antes del ciclo,
- sigue haciendo lo que haces en el ciclo,
- escribe resultado justo despues de terminado el ciclo.
- elimina la asignacion que tienes despues del ciclo.

Alternativa a esto:
- Agrega " " + i + ": " justo antes del ciclo y manten el resto del codigo tal como esta.

el if que aparece justo antes del ciclo , el que dice if (filas <= 10) parece superfluo dado que el ciclo anterior se aseguro que filas estuviera en el rango 1 .. 10, no?
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

Enumerar bucle java

Publicado por Jose (6 intervenciones) el 25/10/2020 14:06:44
Muchas gracias de nuevo por tu respuesta :)

Es cierto! Era redundante y no tenía sentido el if. Con respecto a las instrucciones que me das. Disculpa, pero las he intentado todas y no me sale, quizás es que no lo entiendo bien.

Gracias de nuevo,

Jose
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

Enumerar bucle java

Publicado por Jose (6 intervenciones) el 25/10/2020 16:21:33
A lo que me refiero es que si lo saco del bucle, primero que tengo que definir antes la i, entiendo, y segundo no se me añade al bucle actual, por lo que creo que no me servirían, no?
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: 1.956
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Enumerar bucle java

Publicado por Rodrigo (521 intervenciones) el 25/10/2020 16:26:50
Que cosas sacas del bucle?
En las primeras instrucciones, el print de i tiene que hacerse en la linea 6, dentro del primer ciclo, fuera del segundo.
En realidad todas las instrucciones se refieren al segundo ciclo. Donde dice "ciclo" entiendase "segundo ciclo, pero dentro del primer ciclo"
Perdon por la ambiguedad.
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

Enumerar bucle java

Publicado por Jose (6 intervenciones) el 25/10/2020 21:20:10
Me vas a matar pero no me sale jajajaja Mil perdones, pero algo no debo estar haciendo bien. Te vuelvo a pasar el código siguiendo tus instrucciones a ver que hago mal. Gracias y perdona de nuevo:
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
int filas;
int contador = 1;
int cantidadActual=0;
String resultado="";
 
do  {
    System.out.print("Introduzca número de filas (1-10): ");
    filas=teclado.nextInt();
    contador ++;
 
}while ((filas<0)||(filas>10));
 
for (int i=1; i<=filas;i++) {
    System.out.println(i + ": ");
    resultado = resultado + "\n";
 
    for (int j=1; j<=i;j++) {
 
        cantidadActual = cantidadActual + 1;
        resultado = resultado + cantidadActual + " ";
 
    }
    System.out.println(resultado);
 
}

Este es el resultado que se me imprime:

Introduzca número de filas (1-10): 3
1:

1
2:

1
2 3
3:

1
2 3
4 5 6
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: 1.956
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Enumerar bucle java

Publicado por Rodrigo (521 intervenciones) el 25/10/2020 21:51:03
No seguiste - Haz que resultado sea "" justo antes del ciclo

Eso significa resultado.= "" no resultado = resultado + "\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

Enumerar bucle java

Publicado por Jose (6 intervenciones) el 25/10/2020 22:11:57
Ahora si!! Mil gracias por tu paciencia y disculpa por el error de principiante.
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

Enumerar bucle java

Publicado por CRISTINA (1 intervención) el 05/11/2020 17:02:33
Perdona pero no entiendo la ultima corrección. ¿Qué quieres decir con lo del resultado?
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

Enumerar bucle java

Publicado por Cristina (2 intervenciones) el 05/11/2020 19:21:53
Si ponemos resultado como indicas:

1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 1; i <= filas; i++) {
    System.out.println(i + ": ");
    resultado = " ";
 
    for (int j = 1; j <= i; j++) {
 
        cantidadActual = cantidadActual + 1;
        resultado = resultado + cantidadActual + " ";
 
    }
    System.out.println(resultado);
 
}

pinta lo siguiente:
Introduzca número de filas (1-10): 3
1:
1
2:
2 3
3:
4 5 6
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: 1.956
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Enumerar bucle java

Publicado por Rodrigo (521 intervenciones) el 05/11/2020 22:03:58
Cambia el primer println por print (sin ln) ?
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

Enumerar bucle java

Publicado por CRISTINA (2 intervenciones) el 07/11/2020 11:11:16
Ya pinta la escalera, sin embargo el problema es que las instrucciones del ejercicio, te obligan a utilizar el String "\n"; para el desarrollo de la practica, en caso contrario, supongo que la darán como suspensa o quitaran puntos.
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