用Java语言产生1~35之间的7个随机整数,且不能重复,并与用户输入的7个数作比较,设置相应的奖项

用Java语言产生1~35之间的7个随机整数,且不能重复,并与用户输入的7个数作比较,设置相应的奖项_第1张图片

java简易的小游戏

主要产生随机数,对比,输出系统时间等简易功能

代码示例如下:

package lottery_system;
import java.util.Scanner;

public class Lottery {

    /**
    * 产生1~35之间的7个随机整数,且不能重复
    * @return
    */
    public static int[] getRandomArray(){
        int[] randomArray = new int[7];

        for(int i=0;i             //产生1~35之间的随机整数
            int num = (int)(Math.random() * (35 + 1));
            //如果数组中已经有该随机数num,则不对其位置进行赋值,让其停留在该位置继续产生随机数,直到产生不相同的数为止
            if(isContain(randomArray,num)){
                i--;
            }else{
                randomArray[i] = num; 
            } 
        } 
        return randomArray;
    }

    /**
    * 判断一个数组中是否存在某一个指定的整数
    * @param array
    * @param num
    * @return
    */
    public static boolean isContain(int[] array,int num){
        boolean flag = false; 
        for(int i=0;i             if(array[i] == num){
                flag = true;
                break;
            }
        }
        return flag;
    }

    /**
    * 从键盘上输入7个整数,保存到数组中
    * @return
    */
    public static int[] getInputArray(){
        Scanner in = new Scanner(System.in);
        System.out.println("(1-35)之间的7个数字以逗号隔开:");
        String inputString = in.next();
        String[] stringArray = inputString.split(",");
        int[] inputArray=new int[stringArray.length];
        for(int i=0;i             inputArray[i]=Integer.parseInt(stringArray[i]);
//        System.out.print(inputArray[i]+" ");
        }
        in.close();
        return inputArray;
    }

    /**
    * 判断2个数组中有多少个相同的数字
    * @param randomArray
    * @param inputArray
    * @return
    */
    public static int countTwoArray(int[] randomArray,int[] inputArray){
        int count = 0;
        //判断的是对应位置上的数字是否相同
//        for(int i=0;i //            if(randomArray[i] == inputArray[i]){
//                count ++;
//            }
//        }

        //不同的位置
        for(int i=0;i             for(int j=0;j                 if(randomArray[i] == inputArray[j]){
                    count++;
                }
            } 
        }
        return count;
    }

    public static void print(int[] array){
        for(int i=0;i             System.out.print(array[i] + " ");
        }
        System.out.println();
    }
}

 

Test测试:

package lottery_system;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {

    /**
    * @param args
    */
    public static void main(String[] args) {
        System.out.println("---------购买彩票---------");
        System.out.print("请输入购买号码:");
        int inputArray[] = Lottery.getInputArray();
        System.out.println("---------彩票开奖---------");
        //产生随机数数组
        int randomArray[] = Lottery.getRandomArray();
        Lottery.print(randomArray);
        System.out.println("---------兑  奖---------");
        //获取时间对象
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("【购买时间】" + sdf.format(date));  // 打印当前时间

        //获取了键盘上输入的7个整数数组

        int count = Lottery.countTwoArray(randomArray, inputArray);
        System.out.println("中奖个数:"+count);
        if(count == 7){
            System.out.println("您的中奖金额为:350元");
        }else if(count == 6){
            System.out.println("您的中奖金额为:300元");
        }else if(count == 5){
            System.out.println("您的中奖金额为:250元");
        }else if(count == 4){
            System.out.println("您的中奖金额为:200元");
        }else if(count == 3){
            System.out.println("您的中奖金额为:150元");
        }else if(count == 2){
            System.out.println("您的中奖金额为:100元");
        }else if(count == 1){
            System.out.println("您的中奖金额为:50元");
        }else {
            System.out.println("很抱歉,您没中奖!再接再厉!");
        }
    }
}

 

项目代码已经打包好上传了,对于新手虽然简单但值得学习,需要的可以去下载


 

 

 

你可能感兴趣的:(用Java语言产生1~35之间的7个随机整数,且不能重复,并与用户输入的7个数作比较,设置相应的奖项)