欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基础之彩票项目

程序员文章站 2022-07-10 19:07:08
今天通过代码实现一个购买*,了解自动生成数组,巩固JAVA基础:首先使用自动获取彩票数字:public static void jiXuan(int a){ for (int i = 0; i < a; i++) { //自动生成彩票 String []red=format(create(5));//自动生成红区的5个数字并格式化 String []blue=format(create(2));//自动生成蓝区的2个数字并格式化 //遍历红色区域 Sy...

今天通过代码实现一个购买*,了解自动生成数组,巩固JAVA基础:

首先使用自动获取彩票数字:
机选的彩票注数

public static void jiXuan(int a){

    for (int i = 0; i < a; i++) {
        //自动生成彩票
        String []red=format(create(5));//自动生成红区的5个数字并格式化
        String []blue=format(create(2));//自动生成蓝区的2个数字并格式化
        //遍历红色区域
        System.out.print("生成的红色区域的数字:");
        for (int j = 0; j < red.length; j++) {
            System.out.print(red[j]+" ");
        }
        //遍历蓝色区域
        System.out.print("生成的蓝色区域的数字:");
        for (int j = 0; j < blue.length; j++) {
            System.out.print(blue[j]+" ");
        }
        System.out.println();

    }

    //提示买票钱
    System.out.println("应付"+a*2+"元");

}

然后对获得的彩票进行排序:

 /**
  * 格式化数组       补位
  * @param arr  待传递的红区或蓝区的数组
  * @return  格式化后的数组 
  */
 public static String[] format(int [] arr){//[06,12,25,5,18]
  
  String []str=new String[arr.length];
  //排序
  Arrays.sort(arr);
  //补位
  for (int i = 0; i < arr.length; i++) {
   
   str[i]=arr[i]<10? "0"+arr[i] :""+arr[i];
  }
  
  return str;
 }

自动生成数组:

/**
 * 自动生成数组
 * @param num  根据传递的数字确定生成的是红区的数组 还是蓝区的数组
 * @return  生成的是红区或者蓝区的数组
 */
public static int[] create(int num){
    int [] arr=new int[num];//num==5 red 1-35  num=2  1-12
    int ran=0;//存储区域
    if(num==5){
        //自动生成红区 1-35
        ran=35;
    }else if(num==2){
        //自动生成蓝色 1-12
        ran=12;
    }
    //遍历 的是红区或蓝区
    for (int i = 0; i < arr.length; i++) {// [12,5,64,78,6]
        //自动生成一个数字
        int ranNum=new Random().nextInt(ran)+1;// 12 --->0-11
        if(i==0){//说明是空的数组
            arr[i]=ranNum;
        }else{
            for (int j = 0; j < i; j++) {
                if(arr[j]==ranNum){
                    //让当次循环无效
                    i--;
                    break;
                }
                //不同的值给数组赋值
                arr[i]=ranNum;
            }
        }

    }
    return arr;
}

main方法测试:

public static void main(String[] args) {
    int []red=create(2);
    for (int i : red) {
        System.out.println(i);
    }
    System.out.println("欢迎来到彩票管理系统 1.机选 2.自选 3.退出");
    Scanner  input=new Scanner(System.in);
    System.out.println("请输入选项");
    int choice=input.nextInt();
    switch (choice) {
        case 1:
            System.out.println("机选");
            //调用功能  自动生成 红区5 个数字和蓝区的2个数字  并且 格式化一个字符串类型的 数组
            System.out.println("需要买几注彩票");
            int num=input.nextInt();
            jiXuan(num);

            break;
        case 2:
            System.out.println("自选");
            break;

        default:
            break;
    }


}

本文地址:https://blog.csdn.net/zj408130895/article/details/107456311