关于#java#的问题,如何解决?

问题遇到的现象
系统选择的红球会出现重复
蓝球不产生随机数一直是0

/*问题相关代码
package 模拟综合双色球案例;

import java.util.Scanner;
import java.util.Arrays;
import java.util.Random;

/*
红01-33
蓝01-16
比较记录个数
公布结果
*/

public class StartClassA {

private static int blue=0;//用户蓝球
private static int red[] = new int[6];//用户选择的红球
private static int sysred[] = new int[6];//系统红球
private static int sysblue=0;//系统蓝球
private static int redcount=0;//记录选中红球次数
private static int bluecount=0;//记录选中蓝球次数

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    ZhongJiangHaoMa(sysred, sysblue);
    Buy(red, blue);
    redJieGuo(sysred, red);
    blueJieGuo(sysblue, blue);
    jieguo(redcount, bluecount);
}

public static void ZhongJiangHaoMa(int[] sysred,int sysblue){
    
    RedBall(sysred);
    BlueBall(sysblue);
}

public static void Buy(int[] red, int blue){
    //机选1还是手选2
    System.out.println("输入1机选号码,输入2手选号码");
    Scanner sc=new Scanner (System.in);
    boolean flag= true;
    while(flag){
        int a=sc.nextInt();
        switch(a){
            case 1 :
                 RedBall(red);
                 BlueBall(blue);
                 flag=false;
                break;
                
            case 2 :
                System.out .println("请输入6个不同的红球号码范围1-33");
                for (int i=0; i<red.length; i++){
                    int temp=sc.nextInt();
                    if(Ishas(temp)){
                        i--;
                        System.out .println("你输入了重复号码请重新选择");
                    }else{
                        red[i]=temp;
                    }
                }
                 System.out .println("请输入1个不蓝球号码范围1-16");
                 
                 blue=sc.nextInt();
                 flag=false;
                break;
                
            default :
                System.out.println("输入1机选号码,输入2手选号码");
                break;
        }
                
    }
    
}

public static void BlueBall(int blue){//随机产生一个蓝色球            
        Random rand = new Random();
        blue = rand.nextInt();
    }

public static void RedBall(int []red){//随机产生6个不同的红色球
    
    Random rand=new Random();
    for(int i=0;i<red.length;i++){
        int temp = rand.nextInt(33)+1;
        if(Ishas(temp)){
            i--;
        }else{
            red[i]=temp;
        }
    }
    }
    
public static boolean Ishas(int num){//用于验证随机产生的数是否与已输入的一样
        for(int i=0;i<red.length;i++){
            if(num==red[i]){
                return true;
            }
        }
        return false;
    }

public static int redJieGuo(int[] sysred, int[] red){

    for(int i=0; i<red.length; i++){
        for(int j=0; j<sysred.length; j++){
            
            if(sysred[i] == red[j]){
                redcount++;
            }
        }
    }
    return redcount;
}

public static int blueJieGuo(int sysblue, int blue){
    if(sysblue==blue){
        bluecount=1;
    }
    return bluecount;
}

public static void jieguo(int redcount,int bluecount){
    if(redcount<3&&bluecount==0){
        System.out.println("没中奖");
    }else if((redcount==3&&bluecount==0)){
        System.out.println("4等奖");
    }else if((redcount==4&&bluecount==0)||(redcount==3&&bluecount==1)){
        System.out.println("3等奖");
    }else if((redcount==5&&bluecount==0)||(redcount==6&&bluecount==0)){
        System.out.println("2等奖");
    }else if(redcount==6&&bluecount==1){
        System.out.println("1等奖");
    }else {System.out.println("系统错误");
    }
    
    Arrays.sort(sysred);
    Arrays.sort(red);
    
    System.out.println("本期红球中奖号码\n"+Arrays.toString(sysred));
    System.out.println("本期蓝球中奖号码\n"+sysblue);
    System.out.println("红球号码\n"+Arrays.toString(red));
    System.out.println("蓝球号码\n"+blue);
}

} 

*/
运行结果及报错内容
输入1机选号码,输入2手选号码
1
系统错误
本期红球中奖号码
[7, 8, 10, 15, 24, 32]
本期蓝球中奖号码
0
红球号码
[14, 16, 18, 20, 21, 27]
蓝球号码
0

输入1机选号码,输入2手选号码
1
系统错误
本期红球中奖号码
[1, 15, 18, 18, 22, 27]
本期蓝球中奖号码
0
红球号码
[1, 5, 8, 10, 22, 26]
蓝球号码
0
18重复出现

我想要达到的结果
系统随机不重复出现红球
蓝球的随机数也显示出来

尝试修改 随机产生蓝球放置main 中
{ Random rand =new Random();
blue = rand.nextInt(16)+1;
sysblue=rand.nextInt(16)+1;
}可以产生随机的蓝球但是红球还会出现重复在