2017-10-15 8 views
0

Je dépanne mon programme Java pour utiliser une boucle while et une instruction try-catch pour déclencher une exception si 4 entrées entières sont entrées par un utilisateur quand seulement trois sont attendus. J'utilise un tableau combiné avec une boucle while et la méthode hasNextInt mais je n'arrive pas à l'exécuter. Toute idée serait géniale.Java Try Catch si 4 nombres sont entrés, 3 entrées int attendues via array et while itérateur de boucle

public static void main(String[] args) { 

    Scanner scanner = new Scanner(System.in); 
    int count = 3; 

    int[] numbers = new int[count]; 
    System.out.println("Enter 3 integers"); 
    Scanner numScanner = new Scanner(scanner.nextLine()); 
    while (numbers[] > count) { 
     if (numScanner.hasNextInt()) { 
      numbers[] = numScanner.hasNextInt(); 
     } else 
     { 
      System.out.println("You didn't provide enough numbers"); 
      break; 
     } 
    } 
} 
+0

Votre nombre [] variables a besoin d'un index à l'intérieur des crochets – printfmyname

Répondre

0

Peu de choses à noter, vous devez fournir un index lorsque vous accès à un élément du tableau aussi dans les tableaux primitifs java sont initialisés à zéro par défaut [1] ainsi votre condition sur tout échoue déclaration. Aussi, vous devez fermer vos scanners.

Le code suivant est légèrement modifié. J'espère que cela répond à votre résultat attendu.

import java.util.Scanner; 

public class Test { 
    public static void main(String[] args) { 

     Scanner scanner = new Scanner(System.in); 
     int count = 3; 
     int[] numbers = new int[count]; 
     System.out.println("Enter 3 integers"); 
     Scanner numScanner = new Scanner(scanner.nextLine()); 
     int currentIndex = 0; 
     while (currentIndex < count) { 
      if (numScanner.hasNextInt()) { 
       numbers[currentIndex] = numScanner.nextInt(); 
      } else { 
       System.out.println("You didn't provide enough numbers"); 
       break; 
      } 
      currentIndex++; 
     } 
     numScanner.close(); 
     scanner.close(); 
    } 
} 
  1. java: primitive arrays -- are they initialized?