Je suis en train de faire ce qui suit:Aux prises avec try/catch InputMismatch Exception et la récupération de données à partir d'un tableau
- Appel d'une méthode qui crée un
Array
avec 100 entiers générés au hasard. - Appelez une méthode qui invite l'utilisateur à entrer une position d'index du tableau et renvoie la valeur entrée. Si la valeur entrée par l'utilisateur n'est pas un nombre entier valide, lancez une "Exception de discordance d'entrée" qui invite l'utilisateur du problème et lui permet de saisir un entier correct ou de quitter le programme.
package latest;
import java.util.Scanner;
import java.util.InputMismatchException;
import java.util.Random;
public class Latest
{
private static int[] randomInteger;
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int indexPosition = 0;
randomInteger = new int[100];
Random rand = new Random();
for (int i=0; i<randomInteger.length;i++)
randomInteger[i] = rand.nextInt();
while (indexPosition < 0 || indexPosition > 100)
{
try
{
// get array index position
System.out.println ("Hello, please enter an integer for the array index position: ");
indexPosition = input.nextInt();
}
catch (InputMismatchException e)
{
System.out.println ("You did not input a valid value. Please enter an Integer value between 0 and 100");
indexPosition = input.nextInt();
}
{
System.out.println ("You did not input a valid value. Please enter an Integer value between 0 and 100");
indexPosition = input.nextInt();
System.out.println (randomInteger[indexPosition]);
}
}
}
}
Mon problème est le code compile mais ne affiche rien et l'IDE dit indexPosition - "Assigned value never used"
modifier: code de ingrid dans les œuvres de commentaires parfaitement si vous entrez un entier valide mais il n'attrape pas les exceptions il se bloque juste
S'il vous plaît fixer votre .. – 3kings
Vérifiez indenter les conditions de votre 'while()' boucle, ils semblent être génial parce que '' indexPosition' n'est pas < 0 || > 100' au début ou à jamais dans ce cas. Il devrait être plus comme 'while (indexPosition! = -1)' (USER ENTERS -1 pour quitter la boucle? – 3kings
Je ne suis pas sûr si elle devrait être 'if' 'au lieu de' while' parce que les nombres négatifs sont bien j'en ai juste besoin si l'utilisateur entre '0.5' ou une' chaîne' pour que le programme l'attrape et demande un autre entier ou s'il entre un entier propre pour qu'il imprime la valeur à cet index du tableau – archer