Java基本语法_循环练习系列(一)——模拟双色球
目前正在自学java中,学完循环这一块,简单写几个例子,使之更加熟练掌握循环语句和条件语句。
简述一下要这段代码要完成的任务:
/*有33个红色球,16个蓝色球。 在33个里选6个 ,16个里选1个。 加起来是7个号码。
一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同) 奖金为当期高等奖奖金的70%加上奖金池里的。
二等奖:6个红色球号码相符; 奖金为当期高等奖奖金的30%
三等奖:5个红色球号码和1个蓝色球号码相符; 固定3000元。
四等奖:5个红色球号码或4个红色球号码和1个蓝色球号码相符;固定200元
五等奖:4个红色球号码或3个红色球号码和1个蓝色球号码相符; 固定10元
六等奖:1个蓝色球号码相符(有无红色球号码相符均可)。固定5元 */
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner; public class Practice12 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("------双色球游戏开始------");
int[] sysRedBall=new int[6];
int sysBlueBall;
int[] userRedBall=new int[6];
int userBlueBall;
int j=0;
int redCount=0;
int blueCount=0;
int[] redBall={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
Random r=new Random();
Scanner input=new Scanner(System.in);
//系统开始随机产生
//随机产生一个篮球
sysBlueBall=r.nextInt(16)+1; //随机产生6个红球
for(int i=0;i<sysRedBall.length;i++){
//while循环使用了一种算法,避免随机产生相同的数字,随机到的数字取值后就让它赋值为-1(重点,注意看)
while(true){
j=r.nextInt(33);
if(redBall[j]!=-1){
sysRedBall[i]=redBall[j];
redBall[j]=-1;
break;
}
}
} //用户输入
System.out.println("下面请您输入你猜的中奖号码:");
System.out.print("请在数字(1~33)中选择6位数字:");
for(int i=0;i<userRedBall.length;i++){
userRedBall[i]=input.nextInt();
}
System.out.print("请在数字(1~16)中选择1位数字:");
userBlueBall=input.nextInt(); //统计相同的数量
for(int u=0;u<userRedBall.length;u++){
for(int s=0;s<sysRedBall.length;s++){
if(userRedBall[u]==sysRedBall[s]){
redCount++;
break;
}
}
}
if(sysBlueBall==userBlueBall){
blueCount=1;
}
//判断得奖状况
if(redCount==6&&blueCount==1){
System.out.println("一等奖,奖金为当期高等奖奖金的70%加上奖金池里的");
}else if(redCount==6){
System.out.println("二等奖,奖金为当期高等奖奖金的30% ");
}else if(redCount==5&&blueCount==1){
System.out.println("三等奖,奖金为3000元 ");
}else if(redCount==5||(redCount==4&&blueCount==1)){
System.out.println("四等奖,奖金为200元 ");
}else if(redCount==4||(redCount==3&&blueCount==1)){
System.out.println("五等奖,奖金为10元 ");
}else if(blueCount==1){
System.out.println("六等奖,奖金为5元 ");
}else{
System.out.println("很遗憾,继续努力! ");
}
//输出本期中奖号码
//Arrays.sort(sysRedBall);//使用API中自带的Arrays类,sort()方法是进行升序排序
//下面for嵌套循环使用了冒泡排序法
for(int i=0;i<sysRedBall.length-1;i++){
for(int h=0;h<sysRedBall.length-1-i;h++){
if(sysRedBall[h]>sysRedBall[h+1]){
int temp=sysRedBall[h];
sysRedBall[h]=sysRedBall[h+1];
sysRedBall[h+1]=temp;
} }
}
System.out.print("本期红球号码为:");
for(int red=0;red<sysRedBall.length;red++){
System.out.print(sysRedBall[red]+" ");
}
System.out.println();
System.out.println("本期篮球号码为:"+sysBlueBall);
}
}
望各位大神多多指教,给出意见,谢谢啦!
Java基本语法_循环练习系列(一)——模拟双色球的更多相关文章
- Java基本语法_循环练习系列(二)——万年历
写万年历大致可以分为以下几个步骤: 1.根据用户输入的年份判断该年是否是闰年. 2.根据用户输入的月份计算该月的天数. 3.计算输入的年份之前的总天数. 4.计算输入的月份之前的天数. 5.计算该月的 ...
- Java 程序测试_循环语句中的break和continue
package test; public class Loop_Statement { public static void main(String [] args) { String[] newba ...
- 059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环
059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环 本文知识点:增强型for循环 增强型for循环格式 案例练习增强型for循环 数组名字 ...
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...
- 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
随机推荐
- Python--面向对象编程--时钟实例开发
在学习python面向对象编程的时候,心血来潮,决定写一个时钟模型来玩玩,所以就有了现在这个小玩意,不过python这个东西确实是挺好玩的 方法:运用python的tkinter库开发图形化时钟程序 ...
- PDG转PDF注定会文件膨胀、质量下降吗?
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.07.16更新:2006.07.20 事先声明: PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器 ...
- 内容可循环重用的ScrollView
UIScrollView是iOS中最常用的交互控件之一,本文讨论当设定为翻页模式,内容页很多的时候,如果给每个页面都创建一个新View,会导致资源爆表.比较好的做法是参考UITableViewCell ...
- day05.2-Vim编辑器
一. 安装Vim编辑器和打开新建文件 安装Vim编辑器:apt-get install Vim 新建与打开Vim文件:vim 文件名 二. Vim编辑器三种模式的使用与切换 指令 ...
- [SinGuLaRiTy] 贪心题目复习
[SinGuLaRiTy-1024] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [POJ 2709] 颜料 (Painter) 题目描述 ...
- 编译 ambari 2.7.3
官方给的教程比较简单,需要事先安装的工具也是这里列一点,那里列一点.在此记录一下编译要点(在 centos 7 下). 1. 事先需要安装的工具 yum install -y git svn node ...
- 2017第八届蓝桥杯决赛(C++ B组)2.磁砖样式
磁砖样式 小明家的一面装饰墙原来是 310 的小方格. 现在手头有一批刚好能盖住2个小方格的长方形瓷砖. 瓷砖只有两种颜色:黄色和橙色. 小明想知道,对于这么简陋的原料,可以贴出多少种不同的花样来. ...
- 重装iTunes 错误代码42401 解决办法
昨晚手贱点击从iTunes 11升级到iTunes12,之后发现iTunes 12各种卡,简直不能忍,然后直接拉iTunes 12到AppClear,然后安装iTunes 11,安装完成之后打开iTu ...
- node 后台搭建笔记
*注:本文是个人记录,非常粗略 1.建立server服务的文件被单独放置在一个文件夹下或最外层 2.src文件包含:controller/model/routes 文件夹 和 app.js文件
- C#WinForm POST方式提交给网页(与网页交互) (转)
提交(POST): 需要导入命名空间: using System.Net;using System.IO; string postData = "username=" + Logi ...