Java - recabar hasta un máximo de 10 números utilizando un arreglo

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

recabar hasta un máximo de 10 números utilizando un arreglo

Publicado por Kevin (6 intervenciones) el 26/09/2020 04:49:11
Hola, necesito ayuda
El código q hice debe recabar hasta un máximo de 10 números utilizando un arreglo, pero si el usuario ponia 0 entonces el codigo terminaba y mostraba los datos q si se mostraron
Practicamente ya esta bien mi programa, pero si se llenan los 10 espacios, despues los imprime y se salta uno
Ayudenme para poder arreglar eso por favor

Copio abajo mi código y despues lo q resulta al correrlo

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
import java.util.Scanner;
public class Arreglos{
	public static void main(String[] args){
 
	Scanner scanner = new Scanner(System.in);
 
		int arr[] = new int[10];
		System.out.print("Ingresa el primer elemento del arreglo (0 termina la ejecucion): ");
		int num=scanner.nextInt();
 
		int i=0;
		do{ if (num==0){
				System.out.print("\n");
				i=10;
			}
			else{
				arr[i]=num;
				System.out.print("Ingresa otro elemento del arreglo (0 termina la ejecucion): ");
				num=scanner.nextInt();
				i++;
			}
		}
		while(i<10);
 
		System.out.println("\nUsted ingreso los siguientes elementos: ");
 
		int r=0;
 
		while ( r<10 ){
			System.out.println(arr[r]);
			r++;
		}
	}
}




C:\Users\pc1\Documents\Metodologia de espiral>
C:\Users\pc1\Documents\Metodologia de espiral>java Arreglos
Ingresa el primer elemento del arreglo (0 termina la ejecucion): 1
Ingresa otro elemento del arreglo (0 termina la ejecucion): 2
Ingresa otro elemento del arreglo (0 termina la ejecucion): 3
Ingresa otro elemento del arreglo (0 termina la ejecucion): 4
Ingresa otro elemento del arreglo (0 termina la ejecucion): 5
Ingresa otro elemento del arreglo (0 termina la ejecucion): 6
Ingresa otro elemento del arreglo (0 termina la ejecucion): 7
Ingresa otro elemento del arreglo (0 termina la ejecucion): 8
Ingresa otro elemento del arreglo (0 termina la ejecucion): 9
Ingresa otro elemento del arreglo (0 termina la ejecucion): 11

Usted ingreso los siguientes elementos:
0
1
2
3
4
5
6
7
8
9

C:\Users\pc1\Documents\Metodologia de espiral>
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 Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

recabar hasta un máximo de 10 números utilizando un arreglo

Publicado por Billy Joel (876 intervenciones) el 26/09/2020 17:46:02
Prueba con así:
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
import java.util.Scanner;
 
public class Arreglos {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int arr[] = new int[10];
        //System.out.print("Ingresa el primer elemento del arreglo (0 termina la ejecucion): ");
        //int num = scanner.nextInt();
        int num;
 
        int i = 0;
        do {
            System.out.print("Ingresa el elemento " + i + " del arreglo (0 termina la ejecucion): ");
            num = scanner.nextInt();
            if (num == 0) {
                System.out.print("\n");
                i = 10;
            } else {
                arr[i] = num;
                i++;
            }
        } while (i < 10);
 
        System.out.println("\nUsted ingreso los siguientes elementos: ");
 
        int r = 0;
 
        while (r < 10) {
            if (arr[r] == 0) {
                break;
            }
            System.out.println(arr[r]);
            r++;
        }
    }
}

Saludos,
Billy Joel
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

recabar hasta un máximo de 10 números utilizando un arreglo

Publicado por Billy Joel (876 intervenciones) el 26/09/2020 18:04:49
Algo me dice que aún no has visto estructuras de repetición como "for"
Acá un pequeño ejemplo de como sería con for
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
import java.util.Scanner;
 
public class Arreglos {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int arr[] = new int[10];
        int num;
        for (int i = 0; i < arr.length; i++) {
            System.out.print("Ingresa el elemento " + i + " del arreglo (0 termina la ejecucion): ");
            num = scanner.nextInt();
            if (num == 0) {
                System.out.print("\n");
                break;
            } else {
                arr[i] = num;
            }
        }
 
        System.out.println("\nUsted ingreso los siguientes elementos: ");
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 0) {
                break;
            }
            System.out.println(arr[i]);
        }
    }
}

Saludos,
Billy Joel
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
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

recabar hasta un máximo de 10 números utilizando un arreglo

Publicado por Rodrigo (623 intervenciones) el 26/09/2020 18:09:39
tengo la impresion que el segundo ciclo se podria simplificar asi:

1
2
3
for (int j = 0; j < i; j++) {
    System.out.println(arr[j]);
}

a menos que i no exista despues del ciclo?
(Si no existe, entonces el costo seria no definirla en el ciclo)
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
sin imagen de perfil
Val: 17
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

recabar hasta un máximo de 10 números utilizando un arreglo

Publicado por Kevin (6 intervenciones) el 26/09/2020 18:05:09
Muchas gracias, fue de gran ayuda
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