Java - Añadir valores a un array hasta introducir el valor 0

   
Vista:

Añadir valores a un array hasta introducir el valor 0

Publicado por Jorge (12 intervenciones) el 11/02/2013 20:21:26
Buenas tardes!

Tengo la siguiente duda, a ver si alguien me puede ayudar. Resulta que estoy haciendo una serie de prácticas y estoy atascado en una de ellas.
Me piden hacer un programa que pida por teclado números enteros hasta que se introduzca el cero. En ese momento el programa mostrará todos los números introducidos, separados por comas (excepto el último cero).

Muchas gracias!
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

Añadir valores a un array hasta introducir el valor 0

Publicado por Jorge (12 intervenciones) el 11/02/2013 22:02:47
Disculpad la reiteración de la pregunta, pero me gustaría afinar un poco más.
Tengo el siguiente trozo de código. Lo primero es que no se en que fallo porque cuando introduzco el 0 como primer dígito, finaliza el programa, pero cuando entro en el bucle e introduzco una serie de enteros y después el 0 para finalizar, el programa sigue pidiendo enteros.
La segunda pregunta es, a partir de este código, es posible asignar al array un tamaño variable? Quiero decir, el tamaño por defecto del array es 1000; pero si a alguien le da por introducir 1001 números el programa no dejará introducir mas...
Este programa sería mas efectivo si lo hiciera con arrays de más de una dimensión??

Muchas gracias de verdad, un saludo!

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
import java.util.*;
 
   public class Plantilla{
      public static void main(String[]args){
 
         Scanner scan=new Scanner(System.in);
         System.out.println("Introduce números enteros y pulse 0 para acabar: ");
 
         int datosIntroducidos=scan.nextInt();
 
         int[]array=new int[1000];
 
         if(datosIntroducidos!=0){
            do{
               for (int i=0; i<array.length; i++){
 
                  array[i]=datosIntroducidos;
 
               }
 
            } while(datosIntroducidos!=0);
         }
      }
 
   }
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 xve

Añadir valores a un array hasta introducir el valor 0

Publicado por xve (261 intervenciones) el 12/02/2013 07:23:45
Hola Jorge, te agradezco mucho que nos hayas mostrado el codigo y te hayas explicado tan bien... aqui te adjunto el codigo corregido:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
 
public class Plantilla{
    public static void main(String[]args){
 
        Scanner scan=new Scanner(System.in);
        System.out.println("Introduce números enteros y pulse 0 para acabar: ");
        int datosIntroducidos=0;
        int[] array=new int[1000];
        int i=0;
        do{
            datosIntroducidos=scan.nextInt();
 
            if(datosIntroducidos!=0){
                array[i]=datosIntroducidos;
                i++;
            }
        }while(datosIntroducidos!=0);
    }
}

Tenias varios errores... revísalo y si quieres luego lo comentamos, ok?
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

Añadir valores a un array hasta introducir el valor 0

Publicado por Jorge (12 intervenciones) el 12/02/2013 20:07:24
Hola!
Muchas gracias por revisar mi código! Veo que me he liado con el Scanner y con las estructuras de control... qué jaleo!

Viendo la corrección ahora lo comprendo mejor. En un primer lugar, las variables valen 0 porque no se ha introducido ningún dato y una vez que se entra en el do..while y en el if es cuando asignamos los valores desde el teclado y por cada vuelta que da en el bucle al comparar si el valor es 0 o no se le asigna lo que introducimos en el teclado a las "casillas" del array.
Voy a corregir lo que tengo en la práctica!

Una pregunta: ¿si quiero los valores que he introducido, existe un método (Arrays.toString(array)) que me permite ver cada valor, pero me mostraría los datos introducidos o por el contrario me mostrará desde el primer entero que introduzco hasta length-1?

Este tema en programación me trae de cabeza!

Gracias de nuevo!
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

Añadir valores a un array hasta introducir el valor 0

Publicado por san (1 intervención) el 11/12/2015 19:55:59
Hola soy estudiante y estoy aprendiendo a programar en java, me servio de mucha ayuda su código, tengo otra duda si yo quiero dígitar varios nombres de x productos y para terminar dígito la palabra "nada" y que me cuente cuantos nombres eh ingresado.

Como lo aria, gracias por su 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