import java.util.*;
class InputChecker {
public static boolean checkInput(String[] a, String b) {
boolean isIn = false;
for(int x = 0; x < a.length - 1; x++) {
if(x == 1) {
if(a[1].equals(a[0]))
isIn = true;
}
if(a[a.length - 1].equals(a[x]))
isIn = true;
}
return isIn;
}
}
public class MainChecker {
public static void main(String[] args){
Scanner receive = new Scanner(System.in);
InputChecker check = new InputChecker();
ArrayList<String> checkMe = new ArrayList<String>();
ArrayList<String> validEntry = new ArrayList<String>();
while(true) {
System.out.println("Please enter some input, or end to quit: ");
String userInput = receive.nextLine();
if(! userInput.equals("end")) {
checkMe.add(userInput);
String[] k = new String[checkMe.size()];
k = checkMe.toArray(k);
boolean bool = check.checkInput(k, userInput);
if(bool) {
System.out.println("Please enter another input: ");
}
else {
System.out.println("Input stored!");
validEntry.add(userInput);
}
}
}
}
}
Voici votre résultat :
Please enter some input, or end to quit:
Sim
Input stored!
Please enter some input, or end to quit:
Yo
Input stored!
Please enter some input, or end to quit:
Sim
Please enter another input:
Please enter some input, or end to quit:
Yo
Please enter another input:
Please enter some input, or end to quit:
Explication : Dans cet exemple, nous avons simplement créé une autre classe avec une méthode qui peut effectuer la vérification pour vous. Nous stockons les entrées de l'utilisateur dans une liste de tableaux (ArrayList), puis nous convertissons cette liste de tableaux en un tableau de chaînes de caractères (String) dans notre programme principal. Nous pouvons passer ce tableau à la méthode que nous avons créée dans l'autre classe lorsque nous appelons cette méthode dans notre classe principale, et nous pouvons vérifier si l'entrée actuelle est déjà dans le tableau qui a été passé à notre méthode. Nous utiliserons une valeur booléenne dans la méthode que nous avons créée comme un "drapeau" et si ce "drapeau" vaut "vrai", nous saurons que l'entrée de l'utilisateur est déjà dans le tableau. Nous utilisons ensuite ce drapeau comme test conditionnel dans notre programme principal. S'il vaut "true", nous savons que l'entrée de l'utilisateur a déjà été stockée. Si l'entrée de l'utilisateur est déjà dans ce tableau, nous demanderons à l'utilisateur d'en faire d'autres, et nous ne les stockerons pas dans notre tableau de stockage principal. Cependant, si l'entrée de l'utilisateur est "unique", nous confirmerons que l'entrée a été stockée et la placerons dans notre tableau principal. C'est l'essentiel du programme, et comme vous pouvez le voir, le décomposer en classes et méthodes peut être utile ici.