随机匹配无需重复

Kan*_*nan 1 java arrays random

我在学校里做过这个项目并且遇到了错误.我无法运行此代码,因为它有一个错误' randA2已在方法中定义main(String[])'如何修复它?

String [] A = {"Russia", "Saudi_Arabia", "Egypt", "Uruguay"};
int A1 = A.length;
int randA1 = (int)(Math.random()*A1);
int randA2 = (int)(Math.random()*A1);
int randA3 = (int)(Math.random()*A1);
int randA4 = (int)(Math.random()*A1);
while(randA1 == randA2) {
    int randA2 = (int)(Math.random()*A1);
}
while(randA1 == randA3) {
    int randA3 = (int)(Math.random()*A1);
}
while(randA2 == randA3) {
    int randA3 = (int)(Math.random()*A1);
}
while(randA1 == randA4) {
    int randA4 = (int)(Math.random()*A1);
}
while(randA2 == randA4) {
    int randA4 = (int)(Math.random()*A1);
}
while(randA3 == randA4) {
    int randA4 = (int)(Math.random()*A1);
}
String AnnounceA1 = A[randA1] +" " + "VS" + " " + A[randA2];
System.out.println(AnnounceA1);
String AnnounceA2 = A[randA3] +" " + "VS" + " " + A[randA4];
System.out.println(AnnounceA2);
Run Code Online (Sandbox Code Playgroud)

YCF*_*F_L 5

我想用另一种方法来解决你的问题,你只需要:

String[] contries = {"Russia", "Saudi_Arabia", "Egypt", "Uruguay"};
Collections.shuffle(Arrays.asList(contries));

String announceA1 = contries[0] + " VS  " + contries[1];
System.out.println(announceA1);
String announceA2 = contries[2] + " VS  " + contries[3];
System.out.println(announceA2);
Run Code Online (Sandbox Code Playgroud)