您好,我收到此错误消息(很可能是由上一个方法“ choixNumerote”引起的):
java.lang.Error: Unresolved compilation problems:
Duplicate local variable tabJoueur
Syntax error on token "i", delete this token
sc cannot be resolved
有什么帮助吗?
这是代码:
import java.util.Scanner;
public class Mastermind_ho {
static String [] TAB_REF_COLORS = {"rouge","jaune","vert","bleu","orange","blanc","violet","fuchsia"};
static int NB_COLORS = 4;
static int compteur=0;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String [] combinaisonSecrete = generateRandomCombination();
for(int i=0;i<4;i++) {
System.out.println(combinaisonSecrete[i]);
}
String [] combinaisonJoueur = choixNumerote();
for(int i=0;i<4;i++) {
System.out.println(combinaisonJoueur[i]);
}
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;
}
static String [] choixNumerote() {
String [] tabJoueur = new String[NB_COLORS];
for(int i=0;i<NB_COLORS;i++) {
System.out.println("Choisissez une couleur :");
String tabJoueur[i]=sc.nextLine();
}
compteur++;
return tabJoueur;
System.out.println("Il te reste : " + (12-compteur) + "tentative(s)");
}
}
答案 0 :(得分:1)
String [] tabJoueur = new String[NB_COLORS];
for(int i=0;i<NB_COLORS;i++) {
System.out.println("Choisissez une couleur :");
String tabJoueur[i]=sc.nextLine();
}
您再次使用类型String
声明了tabJoueur。更正它:
String [] tabJoueur = new String[NB_COLORS];
for(int i=0;i<NB_COLORS;i++) {
System.out.println("Choisissez une couleur :");
tabJoueur[i]=sc.nextLine();
}
此外,您应该学会信任编译器的错误消息,因为它清楚地告诉您问题出在哪里。
答案 1 :(得分:0)