Variables dinámicas

Buenos días, no se como hacer un programa le pregunte al usuario cuántas (por ejemplo) notas quiere introducir y a continuación le pida que vaya introduciendo los datos uno a uno.

Como puedo hacer que haya un numero de variables sin saber cual sera? (sin que haya limite de variables)

Muchas gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

Re:Variables dinámicas

No sé a que te refieras con eso.

Te dejo este código en Python, es fácil pasarlo a Java:

numero= int(raw_input('No. de notas:'))

while cont<=numero:
       nota=float(raw_input('Introduce nota: '))
       cont+=1
       
print "El usuario introdujo: %d  notas" % (cont)
     

0_o

Gracias, pero no es a eso a

Gracias, pero no es a eso a lo que me refiero, de esa forma siempre estoy pasando el dato que leo a una misma variable, yo por ejemplo quiero hacer eso mismo pero si leo 5 datos que se guarden por ejemplo en "notas1", "notas2", "notas3", "notas4", "notas5", si leo más que se creen mas variables y si leo menos pues menos.

No se si se podrá, se que en FoxPro eso si se puede hacer.

Un saludo

Imagen de Sr. Negativo

Compra un libro de

Compra un libro de programación.

@Mr- Buuuhhh

@Mr- Buuuhhh jajajaj :D

@jpablo2003

Necesitas crear una lista o un arreglo del tipo de dato que quieres, de esta forma puedes almacenar muchos valores.

Usar una lista es más flexible pues no necesitas saber de antemano el número de elementos a insertar.

// ejemplo arreglo
int  numeroDatos = 10;
int [] notas = new int[10];
for ( int i = 0 ; i <  notas.length; i++ ) {
    notas[i] = readInput(); // crear esta funcion aparte
}

Usar una lista es muy similar...

// ejemplo lista
List<Integer> notas = new ArrayList<Integer>();
for ( ;; ) { // en un loop infinito por ejemplo
    notas.add( readInput() );
}

Claro, hay que determinar cuando dejar de leer y eso.

Esta es la forma en la que se pueden tener "variables" dinámicas.

$ cat Leer.java
import java.util.List;
import java.util.Scanner;
import java.util.Collections;
import java.util.ArrayList;

public class Leer {
    public static void main( String ... args ) {
        System.out.println("Escriba las notas y finalice con la palabra fin"); // o cualquier otra no numérica :P
        try (Scanner scanner = new Scanner(System.in)) {
            List<Integer> datos = new ArrayList<>();
            while (scanner.hasNextInt()) {
                datos.add(scanner.nextInt());
            }
            Collections.sort(datos);
            System.out.println(datos);
        }
    }
}

$ javac Leer.java
$ java Leer
Escriba las notas y finalice con la palabra fin
1 4 2 5 3 6 4 7 5 8 6 9 8 fin
[1, 2, 3, 4, 4, 5, 5, 6, 6, 7, 8, 8, 9]

Espero te sirva

Imagen de Sr. Negativo

jajaja En serio insisto en

jajaja

En serio insisto en que compre un libro.