介绍

分别有A、B两组。尽量让您手中的项目抽中同一组,但是出厂的顺序不同

注意

1.建立的java文件,要与代码中的public class 名相同
2.package 包名; 要与自己建立的相同
3.通过下面标红的A、B两组总的容纳空间

源代码

package program;
import java.io.*;
import java.util.Random;
import java.util.Scanner;
public class test {public static void main(String[] args)throws IOException {test cq=new test();  //因为要调用方法CQ,(注意:
//方法要写在主函数外面,public class er_jin_zhi_tuxiang里面)int xiangmushu=0;int m=0;     //记录A组已经出来几个序号了int m1=10;   //A组能容纳的空间大小int[] xuhaoA=new int[10];   //存放A组抽出的序号 (注意:eclipse中空数组中的值默认的是0)int n=0;     //记录B组已经出来几个序号了int n1=10;   //B组能容纳的空间大小int[] xuhaoB=new int[10];    //存放B组抽出的序号(注意:eclipse中空数组中的值默认的是0)int q;String A="A";String B="B";Scanner reader=new Scanner(System.in);Random r=new Random();for(int i=0;i==0;) {     //实现下一个人的抽签System.out.print("您的项目有几个:");q=reader.nextInt();xiangmushu=xiangmushu+q;if(xiangmushu<=20){for(int iii=0;iii==0;) {  //如果一个组满了,或不够了;再重新抽组int a=r.nextInt(2);if(a==0) {       //0表示的是A组if(m1>=q) {    //保证A组剩余的空间大于此人所有项目所需要的序号数iii=1;cq.CQ(A,q,m,xuhaoA);m=m+q;     //保证m比上一人抽出的结果所存入的最后一个数组的序号大1(注意:数组的序号是从0开始的)
//这里要说明以下为什么方法中已对m做出变化,这里还要在多此一举呢?原因很简单,在测试中发现对于赋初始值变量,即使在方法中有改变其初始值的操作,
//当下次调用此方法时,变量的值还是保持其初始值m1=m1-q;  //表示A组的剩余空间少一个}else {if(n1<q) {xiangmushu=xiangmushu-(q-m1);iii=1;cq.CQ(A,m1,m,xuhaoA);System.out.println("还有"+(q-m1)+"个项目未抽签!");m1=0;     //A组空间用完                                                                        }}} else {if(n1>=q) {iii=1;cq.CQ(B,q,n,xuhaoB);n=n+q;     n1=n1-q; System.out.println(n);}else {if(m1<q) {xiangmushu=xiangmushu-(q-n1);iii=1;cq.CQ(B,n1,n,xuhaoB);System.out.println("还有"+(q-n1)+"个项目未抽签!");n1=0;     //B组空间用完}}}}if(xiangmushu==20) break;else {System.out.println("是否继续(是 或 否)?");String t=reader.next();if("否".contentEquals(t)) break;}}else {System.out.println("项目超额!!");System.out.println("是否继续(是 或 否)?");String t=reader.next();if("否".contentEquals(t)) break;else xiangmushu=xiangmushu-q;}}       }public void CQ(String Zu,int qq,int nm,int[] xuhao){  //Zu代表组,qq代表项目数,nm代表Zu组出来的序号数Random r=new Random();for(int ii=0;ii<qq;ii++) {   //保证有几个项目抽几次int a1=r.nextInt(10)+1;//1.保证a1属于1到10;2.若不加1,a1属于0到9,那么0与数组默认值冲突,for(int aa=0;aa<10;) {                  //会导致for(int aa=0;aa<10;)出现bug              if(xuhao[aa]==a1) {  aa=10;    //结束筛选ii--;     //抽重了,那么这次作废,重新开抽}else {if(aa==nm) {   //保证把所以抽出的结果全部对比一边,没有重复的,则这次抽出的结果有效xuhao[aa]=a1;  System.out.println("抽签结果:"+Zu+""+xuhao[aa]);nm++; //这一条语句必须有,因为如果一个人有三个项目,若没有这条语句,那么在这个方法结束前nm的不会改变,
//使得三个抽签结果都将写入同一个数组空间,且上一次的结果将会被下一次的结果所覆盖,这显然不是我们想要的结果aa=10;}else  aa++;    //说明还没把所有Zu组已抽出的结果全部对比完                        }}}}
}

java小项目:抽签小程序相关推荐

  1. java小项目家庭记账程序

    文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...

  2. java web 项目 常用 小工具类 ~~~~

    java web 项目 常用 小工具类 ~~~~ 一 .DateUtil  日期工具类 package com.devframe.common.util;import java.text.Simple ...

  3. c小项目,小码资金管理工具

    纯c小项目,小码资金管理工具moneykeeper 作者:流浪舟 公众号:小码之光 你小码哥回来啦!最近闷得慌,又在学java(自学,想走这条路,哎,一个人找到所爱的真的很难,说不定哪天真的挂了,就来 ...

  4. htmlcss实例小项目_小程序websocket心跳库——websocket-heartbeat-miniprogram

    前言 在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库.如下: 博客:https: ...

  5. 开源一个安信可A9g小项目微信小程序定位器项目②GPS模块如何定位经纬度并且上报到MQTT服务器,实现远程查看模块的经纬度;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何在windows10上环境搭建,编译烧录代码固件,查看运行 ...

  6. python小项目-python 小项目

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 事先录制好一段音频,客户接通电话后,自动播放https:blog.csd ...

  7. 练手的70个超火python小项目,小编建议收藏哦,送你们玩

    相信正在学Python你一定为了没有练手项目而发愁,小编精心准备出了70个Python的练手项目,相信能够喂饱大伙儿吧!哈哈! 这里面的项目都很有代表性,不只是可以用来练手,而且在以后的工作中都有很实 ...

  8. Python Turtle 小项目 9 小黄人

    闲来没事儿,继续用turtle绘制图案,这次我们要绘制的是小黄人: 好了,现在开始代码教学: 1.导入模块 from turtle import * 2.设置属性 pensize(4) 3.绘制头部外 ...

  9. Java开源项目:saas小程序商城(SpringCloud + Oauth2.0 + ShiroRedis + JWT + Gateway + Nacos + Nginx+Vue+Mysql)

    项目采用**SpringCloud **主流开源框架,,设计轻巧,使用简单,开发人员接手与二次开发简单易懂: 项目完成了对阿里云.腾讯云.微信生态的快速接入与代码示例,并成功运用到了商业中,方便大家学 ...

  10. C语言小项目实践——日历程序

    完整代码包已经上传至我的down,修改请保留原作者注释 http://download.csdn.net/detail/xuptacm/9835030 炫迈日历计划研究报告 1.引言 日常生活中我们往 ...

最新文章

  1. Activity的跳转及返回值,activity的生命周期
  2. linux 修改编码
  3. WMS Schema
  4. 工信部IC power大讲堂(南京)开班,特邀国际名家做核心技术分享
  5. 介绍几个医学图像处理会议
  6. Oulipo (KMP出现次数)
  7. LeetCode 940. 不同的子序列 II(动态规划)
  8. 操作系统用户态内核态线程同步
  9. 用VBA统计涂色单元格的信息
  10. TIOBE 6 月编程语言排行榜:Python 有望超越 C 语言成为第一名
  11. 常见协议RFC对应表
  12. 鼠标 hover时盒子阴影效果,凸起效果_ box-shadow的应用
  13. 什么时候?才可以千秋万代一统江湖!!!
  14. 占位符语法-Scala
  15. PyCharm使用技巧:Ctrl + /(多行注释)
  16. 线性插值基本原理推导
  17. torch.chunk用法
  18. http接口、api接口、RPC接口、RMI、webservice、Restful等概念
  19. 如何在三星Galaxy设备上更改主题
  20. Realtek WiFi定频工具使用操作指南(rtl8188au/rtl8812au/rtl8192cu)

热门文章

  1. 安捷伦频谱仪的使用方法图解_安捷伦N9020A频谱仪操作说明
  2. 四级网络工程师试题一
  3. 网络安全-渗透测试前置知识
  4. 因子分析以及SPSS实现
  5. Android-NDK 接入Fmod库,变声操作
  6. 双主动桥隔离双向DC-DC变换器(三) 控制策略
  7. sqldependency 的使用
  8. 怎样实现EDIUS中素材小范围精确移动
  9. linux vi字体大小,设置VIM字体大小
  10. python微信语音转发方法_涨知识,微信语音能转发给别人啊,方法还那么简单