Bonjour, je suis vraiment débutant en Java. Je dois faire un exo où une fonction compare deux tableaux String (un généré aléatoirement par l'ordi et l'autre choisi par l'utilisateur. Et chaque fois qu'elle trouve un élément identique, elle le case dans un troisième tableau lui aussi forcement String.
import java.util.Scanner;
public class Mastermind_ho {
static Scanner sc = new Scanner(System.in);
static String [] TAB_REF_COLORS = {"rouge","jaune","vert","bleu","orange","blanc","violet","fuchsia"};
static int NB_COLORS = 4;
static int compteur=0;
static String [] combination;
static String [] tabJoueur;
static String [] tabCorrect= {" "," "," "," "};
public static void main(String[] args) {
String [] combinaisonSecrete = generateRandomCombination();
for(int i=0;i<4;i++) {
System.out.print(combinaisonSecrete[i]+ "|" );
}
String [] combinaisonJoueur;
System.out.println();
do {
combinaisonJoueur = choixNumerote();
for(int i=0;i<4;i++) {
System.out.print(combinaisonJoueur[i]+ "|" );
}
//??
}while (compteur<=12 && (12-compteur)>0);
compareColor (tabJoueur, combination);
for(int k=0;k<4;k++) {
System.out.print(tabCorrect[k]+ "|" );
}
sc.close();
}
// Generate random combination of 4 colors
static String [] generateRandomCombination() {
String [] combination = new String[NB_COLORS];
int currentPosition = 0;
while(currentPosition!=NB_COLORS) {
int indexRandom = (int)(Math.random()*TAB_REF_COLORS.length);
String color = TAB_REF_COLORS[indexRandom];
if(!isIn(color, combination)) {
combination[currentPosition] = color;
currentPosition++;
}
}
return combination;
}
static boolean isIn(String iStringToFind, String [] iTab) {
int size = iTab.length;
for(int i=0;i<size;i++) {
if(iStringToFind.equalsIgnoreCase(iTab[i])) return true;
}
return false;
}
// fonction pour récupérer le tableau de l'utilisateur
static String [] choixNumerote() {
String [] tabJoueur = new String[NB_COLORS];
for(int i=0;i<NB_COLORS;i++) {
System.out.println();
System.out.println("Choisissez une couleur :" );
tabJoueur[i]=sc.nextLine();
}
compteur++;
System.out.println("Il te reste : " + (12-compteur) + " tentative(s)" );
if (compteur==12) {
System.out.println("La partie est finie. Tu as perdu !" );
}
return tabJoueur;
}
// fonction pour faire la comparaison entre les 2 tableaux et stocker les élément en communs
static void compareColor (String [] tabPlayer, String [] tabOrdi) {
int sizeTj = tabPlayer.length;
int sizeTm = tabOrdi.length;
int k=0;
for (int i=0;i<sizeTj;i++) {
for(int j=0; j<sizeTm; j++) {
if (tabOrdi[j]==tabPlayer[i]) {
System.out.print("Vous avez trouver une couleur" );
tabCorrect[k]=tabOrdi[j];
k++;
}
else {
continue;
}
}
}
}
}