4 つの独立した数を生成できます。
1) 1 から 9 までの数字 A を生成する
2) 0 から 9 の間で、A とは異なる数 B を生成する
3) 0 から 9 の間で、A と B とは異なる数 C を生成する
4) 0 から 9 の間で、A、B、C とは異なる数 D を生成する
今あなたの番号はABCDまたは
1000*A + 100*B + 10*C + D
完全なコード:
public static int generateSecretNumber() {
Random ran = new Random();
int a, b, c, d;
a = ran.nextInt(9) + 1; //1-9
do {
b = ran.nextInt(10); //0-9
} while(b==a);
do {
c = ran.nextInt(10); //0-9
} while(c==a || c==b);
do {
d = ran.nextInt(10); //0-9
} while(d==c || d==b || d==a);
return 1000*a + 100*b + 10*c + d;
}