Java模拟生成双色球
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java模拟生成双色球相关的知识,希望对你有一定的参考价值。
考题 一(50分)要求写出一个程序,运行程序后在控制台能显示出 6个不重复的数字(1到33之间)即红球和一个篮球(1到16之间)数字,生成格式如下:生成的红球为: 02 06 12 17 19 27 30生成的篮球为: 05注意事项: 1. 将写好的程序运行10次以上,都未生成重复的红球则算完成项目。 2. 如何避免重复是本题的关键考题二(50分):在考题一的基础上增加需求,客户想模拟一下买多少注双色球能中一等奖。请在考题一的基础上帮客户设计程序,能模拟出结果。 提示: 1 . 可以先生成一注双色球作为一 可以先生成一注双色球作为等奖的双色球开奖号,保存。 2 . 不停的生成双色球,每生成一注就和一等奖双色球号进行比较,如果相同则程序停止。(在生成的过程中,用一个变量记住生成次数)考题三(拔高题):我们设计的程序已经让用户知道双色球中一等奖的难度了,但是用户不甘心,用户希望我们能升级我们的程序,实现这个功能:用户在控制台输入固定的金额,程序能够帮我们模拟出指定金额能生成多少注一等奖,多少注二等奖,多少注三等奖 ……。如:用户输入了500W,那么程序经过运算后控制台打印出如下效果(假设一等奖500W 二等奖 150W): 用户您好,您投入的5000000公得到收益如下: 中一等奖 0注 中二等奖 1注 中三等奖 4注 中四等奖 1注 中五等奖 3注 中六等奖 4注共计中得奖金:220000元
参考技术A public void main (String[] args)int[] red=new int[7];
int blue=0;
for(int i=0;i<7;i=i+1)
red[i]=getRandom(33);
//判断重复
while(true)
boolean needcheck=false;
for(int k=0;k<i;k=k+1) if(red[i]==red[k]) needcheck=true;
if(needcheck)red[i]=red[i]+1; if(red[i]==34)red[i]=1elsebreak;
//判断重复结束
//红球赋值结束
blue=getRandom(16);
System.out.println("生成的红球为:"+ red[0]+red[1]+red[2]+red[3]+red[4]+red[5]+red[6]);
System.out.println("生成的蓝球为:"+ );
public int getRandom(int Max)
return Math.floor(Math.random()*33)+1;
本回答被提问者和网友采纳 参考技术B package Sumary918;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
/**
* 模拟双色球购买
* @author Administrator
*
*/
public class Asq
public static void main(String[] args)
//中奖提示
String falg="";
//中奖总金额
int Sum=0;
//中奖注数
int m=0;
//每注中奖金额
int je=10000000;
Mains ssq = new Mains();
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您要购买的彩票数量(单位/注)");
int n=scanner.nextInt();
List<String> list = ssq.getXhao(n);
for (int i = 0; i < list.size(); i++)
System.out.println("第" + (i + 1) + "注:" + list.get(i));
if (list.get(i).equals(Mains.cp))
Sum+=Sum;
m+=i;
falg="恭喜你中奖了!";
else
falg="然而您,并没有中奖!";
System.out.println("\n本期中奖号码为:"+Mains.cp);
System.out.println(falg);
class Mains
static final String cp= getQq();
/**
* 返回6个编号不重复的红球和一个蓝球
*
* @return
*/
public static String getQq()
String st1 = "";
Map<Integer, Object> map = new LinkedHashMap<Integer, Object>();
for (int i = 0; map.size()<6; i++)
// 红球
map.put((int) (Math.random() * 33) + 1, "");
Set kesSet = map.keySet();
for (Object ob : kesSet)
st1 += " " + ob;
// 蓝球
int bule = ((int) (Math.random() * 16)+1);
return st1 + " " + bule;
/**
* 根据传入的参数n生成n注双色球
*
* @param n
* @return
*/
public List<String> getXhao(int n)
List<String> list = new ArrayList<String>();
for (int i = 0; i < n; i++)
list.add(this.getQq());
return list;
Java基础练习题7--猜拳游戏,模拟双色球功能,统计词语次数,判断大写字母,敏感词过滤程序
1.猜拳游戏
1表示石头,2表示剪刀,3表示布
接收用户输入的拳 并输出 ,然后电脑随机产生一个数 对比输赢
欢迎来到游戏中心
请用户出拳(1表示石头,2表示剪刀,3表示布)
import java.util.Random;
import java.util.Scanner;
/**
* @create 2021-05-17 19:01
* 出拳游戏:1表示石头,2表示剪刀,3表示布
* 接收用户输入的拳 并输出 ,然后电脑随机产生一个数 对比输赢
* 欢迎来到游戏中心
* 请用户出拳(1表示石头,2表示剪刀,3表示布)
*/
public class ShiTouJiandaoBU {
public static void main(String[] args) {
ShiTouJiandaoBU stb=new ShiTouJiandaoBU();
System.out.println("出拳游戏:1表示石头,2表示剪刀,3表示布");
stb.game();
}
//用户:Y;电脑:C;
public void game() {
outer:
for (int i = 0; i <100 ; i++) {
Scanner s = new Scanner(System.in);
System.out.println("请您出拳!");
int Y = s.nextInt();
System.out.println("电脑出拳");
//这里用了Random类随机数的特点;
Random r = new Random();
//让电脑在1-3之间随机出拳;
int C = (r.nextInt(3) + 1);
System.out.println(C);
//人类胜利时;
if (Y == 1 && C == 2 || Y == 2 && C == 3 || Y == 3 && C == 1) {
System.out.println("<用户出拳>----->" + check(Y) + "<电脑出拳>----" + check(C) + "<====用户胜利>");
}
//机子胜利时;
else if (Y == 1 && C == 3 || Y == 2 && C == 1 || Y == 3 && C == 2) {
System.out.println("<用户出拳>-----" + check(Y) + "<电脑出拳>-----" + check(C) + "<====电脑胜利>");
}
//用户和机子平局了
else if (Y == 1 && C == 1 || Y == 2 && C == 2 || Y == 3 && C == 3) {
System.out.println("平局");
} else {
//不小心输入了别的数字,提示无效;
System.out.println("你们的比赛无效!请重新开始!");
continue outer;
}
}
}
//进行检测出拳的识别;
public String check(int q){
if(q==1){
return"石头";
}if(q==2){
return"剪子";
}if(q==3){
return"布";
}
else{
return "无效的出拳";
}
}
}
2.模拟双色球摇奖功能
要求:每次随机从1-33的数字中随机取出5个不重复的数据
按照从小到大的顺序输出.
import java.util.Arrays;
import java.util.Random;
/**
* @create 2021-05-17 19:25
* 模拟双色球摇奖功能
* 要求:每次随机从1-33的数字中随机取出5个不重复的数据
* 按照从小到大的顺序输出.
*/
public class CaiPiaoDemo {
public static void main(String[] args) {
shseQ();
}
//将模拟的双色球功能写在一个静态方法中;
public static void shseQ(){
//创建Random类;
Random random =new Random();
//创建数组;
int[] array=new int[5];
//定义数组的索引i;
int i=0;
while(true){
//定义随机数r;(在1-33之间)
int r=random.nextInt(33)+1;
boolean res=true;
for (int j = 0; j < array.length; j++) {
if(array[j]==r){
res=false;
}
}
//当抽到重复数组时,取消输出;
if(res){
array[i]=r;
i++;
}
//当提取到5个元素时;停止;
if(i==5){
break;
}
}
//排序;
Arrays.sort(array);
//输出:
System.out.print("您的号码为:");
System.out.println(Arrays.toString(array));
}
}
3.统计某个词语的出现次数
以下是一段歌词,请从这段歌词中统计出朋友出现的次数。
- “这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。
- 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。”;
/**
*以下是一段歌词,请从这段歌词中统计出朋友出现的次数。
* “这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。
* 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。”;
*/
public class TongJiPengyou {
public static void main(String[] args) {
String s=new String("这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。");
int number=0;
String p="朋友";
//定义开始索引和结束索引位置;
int start=0;
int end=0;
while(true){
//使用indexOf方法拿到"朋友"第一次出现的位置;
start=s.indexOf("朋友",start);
end=start+2;
if(start>0){
//使用substring进行截取判断;
p=s.substring(start,end);
start++;
number++;
}
else{
break;
}
}
System.out.println("出现次数为"+number);
/*//粗略计算出现3次;
System.out.println("字符串长度为:"+s.length());//121
int a1=s.indexOf(p,0);
System.out.println("第一次获取的位置:"+a1);//57
System.out.println(s.substring(a1,a1+2));
int a2=s.indexOf(p,a1+2);
System.out.println("第二次获取的位置:"+a2);//89
System.out.println(s.substring(a2,a2+2));
int a3=s.indexOf(p,a2+2);
System.out.println("第三次获取的位置:"+a3);//99
System.out.println(s.substring(a3,a3+2));
int a4=s.indexOf(p,a3+2);
System.out.println("第四次获取的位置:"+a4);//不存在
System.out.println(s.substring(a4,a4+2));*/
}
}
4.判断输入的字母是否为大写字母
从控制台输入一个字母,判断是否大写字母.
import java.util.Scanner;
/**
* @create 2021-05-17 19:42
* 从控制台输入一个字母,判断是否大写字母.
*/
public class PanDuanZiMu {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
panduan(scanner);
}
//判断是否为大写字母的方法;
public static void panduan(Scanner scanner){
System.out.println("请输入一个字母");
String s=scanner.next();
//通过substring方法来获取到第一个字符;
// 然后再用matches方法进行判断;
//[A-Z] 是匹配大写字母;
boolean res=(s.substring(0,1)).matches("[A-Z]");
if(res==true){
System.out.println("输入的是第一个字符是大写字母");
}
else{
System.out.println("输入的第一个字符不是大写字母");
}
}
}
5.编写敏感词过滤程序
编写敏感词过滤程序 `说明:在网络程序中,聊天软件中,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。 这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。`
/**
* 编写敏感词过滤程序
* 说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。
* 如“变性”、“涩情”、“爆炸的”、“恐怖的”、“***枪”、“军火的”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。
*/
public class GuoLvQi{
public static void main(String[] args) {
String s="兵器例如发现的某个的兵器的的人出现的枪械的活动时什么兵器dde212s兵器.";
guolv(s);
}
//敏感词过滤程序
public static void guolv(String s){
String[] mgc={"发现了","变性","涩情","兵器","爆炸的","恐怖的","军火的","***枪"};
for (int i = 0; i < mgc.length; i++) {
for (int j = 0; j < s.length(); j++) {
//字符串包含了敏感词时;
if (s.contains(mgc[i])) {
//遍历记录出现的位置,并且遍历字符串来调整位置
int a = s.indexOf(mgc[i], j);
//截取敏感字符;
String s1 = s.substring(a, a + 3);
//替换敏感词;
s = s.replaceAll(s1, "???");
}
}
}
//输出过滤后的字符;
System.out.println(s);
}
}
以上是关于Java模拟生成双色球的主要内容,如果未能解决你的问题,请参考以下文章