2017-11-09 1 views
0

Also versuche ich gerade, ein Studentenresultatsprojekt mit einem Validator zu schreiben, der nur die spezifischen Eingaben erlaubt (0,20,40,60,80,100,120). Ich vermute, dass die "weiße Liste" eine Liste sein muss, aber ich habe keine Ahnung, wie ich das machen soll und ich habe Stunden damit verbracht, es herauszufinden.Wie validiere ich Eingaben von einer Liste in Java?

Bisher ist mein Code:

import java.util.Scanner; 


public static void main(String[] args) { 
    // TODO code application logic here 
    int pass, defer, fail; 


    Scanner in = new Scanner(System.in); 

    // read in the marks for each pass, defer or fail 
    System.out.println("Enter the pass credits: "); 
    pass = in.nextInt(); 
    System.out.println("Enter the defer credits:"); 
    defer = in.nextInt(); 
    System.out.println("Enter the fail credits:"); 
    fail = in.nextInt(); 

     //Coditions for each input 
     if(pass == 120){ 
      System.out.println("Progress"); 
     } 
     else if(fail <= 80) { 
      System.out.println("Exclude"); 
     } 
     else if(pass == 100 && defer == 20 || fail == 20 && pass == 100){ 
      System.out.println("Progress - Module Trailer"); 
     } 

     else { 
      System.out.println("Do not progress - module retreiver"); 
     } 

} 

Kann jemand helfen?

+0

Sie möchten also eine Eingabe vom Benutzer erhalten und dann nur diejenigen verarbeiten, die Teil der Whitelist-Nummern sind? – ajc

Antwort

0

können Sie versuchen, eine set gültiger Eingaben zu schaffen und eine einfache Prüfung Funktion erstellen:

private static final Set<Integer> numbers = new HashSet<Integer>(Arrays.asList(new Integer[]{0,20,40,60,80,100,120})); 

static boolean isValidInput(int num){ 
    return numbers.contains(num); 
} 

eine set Verwendung in geeigneter Weise in Ihrem Fall nicht gerechtfertigt ist, weil später, könnten Sie möchten mehr Zahlen enthalten und die Suche durch In diesem Fall möchten Sie eine Datenstruktur, die zurückgegeben würde, wenn die Nummer in einer vordefinierten Liste von Zahlen mit der Komplexität O(1) vorhanden ist.

Verwenden Sie diese Methode, um zu überprüfen, ob Ihre Eingabe gültig ist, und die falschen Fälle entsprechend zu behandeln.

Verwandte Themen