package Java_0_0;import java.util.Scanner;
import java.util.Random;
import java.util.Arrays;public class Java_0_0_13 { public static void main(String[] args) {
int[] userRedBall = new int[6];
int[] sysRedBall = new int[6];
int userBlueBall = 0;
int sysBlueBall = 0;
int redCount = 0;
int blueCount = 0;
System.out.println("双色球游戏开始,GOOD LUCK!");
System.out.println("请问您是要机选还是手选(1.机选,2.手选):");
Scanner input = new Scanner(System.in);
Random random = new Random();
boolean flag = true;
while (flag) {
int isAuto = input.nextInt();
switch (isAuto) {
case 1:
rendomRedBall(userRedBall);
userBlueBall = random.nextInt(15) + 1;
flag = false;
break;
case 2:
boolean[] booluserRedBall = new boolean[34];
booluserRedBall[0] = true;
for (int i = 0; i < 6; i++) {
System.out.println("请输入您选的号码:");
userRedBall[i] = input.nextInt();
if (userRedBall[i] < 0 || userRedBall[i] > 34) {
i--;
System.out.println("号码不在选择范围,重新选择:");
continue;
}
if (booluserRedBall[userRedBall[i]]) {
i--;
System.out.println("号码重复,重新选择:");
}
booluserRedBall[userRedBall[i]] = true;
}
do {
System.out.println("请输入您选的号码:");
userBlueBall = input.nextInt();
if (userBlueBall > 16 || userBlueBall < 1) {
System.out.println("号码不在选择范围,重新选择:");
}
} while (userBlueBall > 16 || userBlueBall < 1);
flag = false;
break;
default:
System.out.println("请问您是要机选还是手选(1.机选,2.手选):");
break;
}
} rendomRedBall(sysRedBall);
sysBlueBall = random.nextInt(15) + 1; duibi(userRedBall, sysRedBall, redCount, blueCount, userBlueBall, sysBlueBall);
sort(sysRedBall);
sort(userRedBall);
System.out.println(Arrays.toString(sysRedBall));
System.out.println("[" + sysBlueBall + "]");
System.out.println(Arrays.toString(userRedBall));
System.out.println("[" + userBlueBall + "]");
System.out.println(redCount); } public static void rendomRedBall(int[] RedBall) {
boolean[] boolRedBall = new boolean[34];
boolRedBall[0] = true;
Random random = new Random();
for (int i = 0; i < 6; i++) {
do {
RedBall[i] = random.nextInt(33) + 1;
} while (boolRedBall[RedBall[i]]);
boolRedBall[RedBall[i]] = true;
}
} public static void sort(int[] RedBall) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - i; j++) {
if (RedBall[j] > RedBall[j + 1]) {
RedBall[j] += RedBall[j + 1];
RedBall[j + 1] = RedBall[j] - RedBall[j + 1];
RedBall[j] = RedBall[j] - RedBall[j + 1];
}
}
}
} public static void duibi(int[] userRedBall, int[] sysRedBall, int redCount, int blueCount, int userBlueBall,
int sysBlueBall) {
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6 - redCount; j++) {
if (userRedBall[i] == sysRedBall[j]) {
int temp = sysRedBall[i];
sysRedBall[i] = sysRedBall[5 - redCount];
sysRedBall[5 - redCount] = temp;
redCount++;
}
}
}
if (userBlueBall == sysBlueBall) {
blueCount = 1;
}
}}有没有那个大神知道我的redCount无法接受到返回的值

解决方案 »

  1.   

     public static void duibi(int[] userRedBall, int[] sysRedBall, int redCount, int blueCount, int userBlueBall,
                                 int sysBlueBall) {
            for (int i = 0; i < 6; i++) {
                for (int j = 0; j < 6 - redCount; j++) {
                    if (userRedBall[i] == sysRedBall[j]) {
                        int temp = sysRedBall[i];
                        sysRedBall[i] = sysRedBall[5 - redCount];
                        sysRedBall[5 - redCount] = temp;
                        redCount++;
                    }
                }
            }
            if (userBlueBall == sysBlueBall) {
                blueCount = 1;
            }
        }你的redCount是参数,要想返回出去,得让redCount作为duibi的返回值 public static int duibi(int[] userRedBall, int[] sysRedBall, int redCount, int blueCount, int userBlueBall,
                                 int sysBlueBall) 
      

  2.   

    用debug
      

  3.   

    你这是要返回,要么在duibi()方法返回该值,要么引用传递该值,把redCount放自定义类的对象里面。
      

  4.   

    或者把redCount放到类属性里面,再用this.redCount来使用。