java小项目:抽签小程序
介绍
分别有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小项目:抽签小程序相关推荐
- java小项目家庭记账程序
文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...
- java web 项目 常用 小工具类 ~~~~
java web 项目 常用 小工具类 ~~~~ 一 .DateUtil 日期工具类 package com.devframe.common.util;import java.text.Simple ...
- c小项目,小码资金管理工具
纯c小项目,小码资金管理工具moneykeeper 作者:流浪舟 公众号:小码之光 你小码哥回来啦!最近闷得慌,又在学java(自学,想走这条路,哎,一个人找到所爱的真的很难,说不定哪天真的挂了,就来 ...
- htmlcss实例小项目_小程序websocket心跳库——websocket-heartbeat-miniprogram
前言 在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库.如下: 博客:https: ...
- 开源一个安信可A9g小项目微信小程序定位器项目②GPS模块如何定位经纬度并且上报到MQTT服务器,实现远程查看模块的经纬度;
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何在windows10上环境搭建,编译烧录代码固件,查看运行 ...
- python小项目-python 小项目
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 事先录制好一段音频,客户接通电话后,自动播放https:blog.csd ...
- 练手的70个超火python小项目,小编建议收藏哦,送你们玩
相信正在学Python你一定为了没有练手项目而发愁,小编精心准备出了70个Python的练手项目,相信能够喂饱大伙儿吧!哈哈! 这里面的项目都很有代表性,不只是可以用来练手,而且在以后的工作中都有很实 ...
- Python Turtle 小项目 9 小黄人
闲来没事儿,继续用turtle绘制图案,这次我们要绘制的是小黄人: 好了,现在开始代码教学: 1.导入模块 from turtle import * 2.设置属性 pensize(4) 3.绘制头部外 ...
- Java开源项目:saas小程序商城(SpringCloud + Oauth2.0 + ShiroRedis + JWT + Gateway + Nacos + Nginx+Vue+Mysql)
项目采用**SpringCloud **主流开源框架,,设计轻巧,使用简单,开发人员接手与二次开发简单易懂: 项目完成了对阿里云.腾讯云.微信生态的快速接入与代码示例,并成功运用到了商业中,方便大家学 ...
- C语言小项目实践——日历程序
完整代码包已经上传至我的down,修改请保留原作者注释 http://download.csdn.net/detail/xuptacm/9835030 炫迈日历计划研究报告 1.引言 日常生活中我们往 ...
最新文章
- Activity的跳转及返回值,activity的生命周期
- linux 修改编码
- WMS Schema
- 工信部IC power大讲堂(南京)开班,特邀国际名家做核心技术分享
- 介绍几个医学图像处理会议
- Oulipo (KMP出现次数)
- LeetCode 940. 不同的子序列 II(动态规划)
- 操作系统用户态内核态线程同步
- 用VBA统计涂色单元格的信息
- TIOBE 6 月编程语言排行榜:Python 有望超越 C 语言成为第一名
- 常见协议RFC对应表
- 鼠标 hover时盒子阴影效果,凸起效果_ box-shadow的应用
- 什么时候?才可以千秋万代一统江湖!!!
- 占位符语法-Scala
- PyCharm使用技巧:Ctrl + /(多行注释)
- 线性插值基本原理推导
- torch.chunk用法
- http接口、api接口、RPC接口、RMI、webservice、Restful等概念
- 如何在三星Galaxy设备上更改主题
- Realtek WiFi定频工具使用操作指南(rtl8188au/rtl8812au/rtl8192cu)