Besoin De Prendre une Entrée De Tableau Jusqu'à ce que l'Utilisateur Entre 0 JAVA
J'ai besoin d'aide pour comprendre comment écrire une boucle qui prend une certaine quantité de nombres entiers (doit être de 1 à 10) et qu'il arrête de prendre dans nombre 0 (0 sera le dernier numéro). Mon code pour l'instant est:
import java.util.Scanner;
public class countNum {
public static void main(String[] args) {
int[] array;
Scanner input = new Scanner(System.in);
System.out.println ("Enter in numbers (1-10) enter 0 when finished:");
int x = input.nextInt();
while (x != 0) {
if (x > 2 && x < 10) {
//Don't know what to put here to make array[] take in the values
}
else
//Can I just put break? How do I get it to go back to the top of the while loop?
}
}
}
}
Je ne comprends pas comment simultanément initialiser un tableau avec un réglage de la longueur tout en ayant le Scanner lu d'une certaine quantité de chiffres de longueur inconnue, jusqu'à ce que 0 est entré, et alors la boucle s'arrête en prenant en entrée pour le tableau.
Merci pour toute aide!
- vous souhaiterez peut-être utiliser ArrayList il n'aura pas besoin de vous pour définir la taille il le fait de manière dynamique anyexample.com/programming/java/java_arraylist_example.xml
initialize an array with a set length
-> Vous n'avez pas besoin d'. Juste aller avec unArrayList
qui augmente sa taille de façon dynamique. Et je vois que vous avez utilisé deux variables représentant votre numéro dans votre état.- Pouvez-vous les gars s'il vous plaît aller dans un peu plus en détail?
- Changement int tableau[] pour une Liste<Integer> array
Vous devez vous connecter pour publier un commentaire.
Ok voici le peu plus en détail: -
Vous devez utiliser un
ArrayList
si vous voulez dynamique d'une gamme croissante. Vous de faire comme ceci: -Maintenant, dans ton code ci-dessus, vous pouvez mettre votre
number
la lecture de l'énoncé (nextInt
) à l'intérieur de la boucle while, puisque vous voulez le lire régulièrement. Et de mettre une condition dans la boucle while pour vérifier si le numéro entré est un int ou pas: -De plus, vous pouvez vous déplacer sur votre propre. Il suffit de vérifier si le nombre est
0
ou pas. Si elle n'est pas0
, puis l'ajouter àArrayList
: -Si son
0
, sortir de ta boucle while.Et vous n'avez pas besoin que
x != 0
condition dans ta boucle while, car vous êtes déjà en vérifiant à l'intérieur de la boucle.Dans votre cas, l'utilisateur semble être en mesure à l'entrée d'un certain nombre de chiffres. Pour ce scénario, avoir un tableau n'est pas l'idéal, simplement parce que la taille du tableau doit être connue avant l'initialisation de tableau. Vous avez quelques options bien:
Dans les deux cas 2 et 3, vous devez également inclure une certaine logique qui fera de l'arrêt du programme: (1) lorsque L'utilisateur entre 0 (2) OU lorsque le montant de chiffres fournis par l'utilisateur dépasse la taille de la matrice.
Je vous recommandons de coller à la première solution, bien que depuis il est plus facile à mettre en œuvre.
Je recommande fortement que vous allez obtenir quelques mains sur avec Java Collections.
vous pouvez fixer votre programme
J'espère que cela permettra de résoudre votre doute..
au-delà de cette u besoin de gérer des Exceptions si l'utilisateur entre dans n'importe quel caractère ou non valide les entrées ci-dessus