循环案例代码详解(1)
案例一
实现双色球的彩票功能。规则:从36个红球中随机选择不重复的6个数,从15个篮球中随机选择1个组成一注彩票。可以选择买多注。
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请选择买几注:");
int duoZhu=sc.nextInt();
//多注彩票号码循环
for (int k = 1; k <= duoZhu; k++) {
//定义一个int数组,来存放7个彩票号码;
int[] redNums=new int[7];
boolean repeat=false;
//36个红球中随机出6个不同数字的循环
for (int i = 0; i <6; i++) {
//存到数组中去
redNums[i]=(int)(Math.random()*35+1);
if(i>0){
for (int j = 0; j < i; j++) {
//新获取的随机数跟数组中已有的随机数作比较,得到repeat的bool值
if(redNums[i]==redNums[j]){
repeat=true;
break;
}
}
}
//如果repeat=true;说明有重复的,则需要重新产生随机数
if(repeat==true){
redNums[i]=(int)(Math.random()*35+1);
}
}
//数组中的第七个数从篮球的15个中随机产生
redNums[6]=(int)(Math.random()*14+1);
System.out.println("您的第"+k+"注彩票号码为:");
//循环打印出七个彩票号码
for (int i = 0; i < redNums.length; i++) {
System.out.print(redNums[i]+"\t");
}
System.out.println();
}
}
运行效果:
案例二
输出一个整数的二进制数、八进制数、十六进制数。
public static void main(String[] args) {
String numS1="";
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数:");
int num=sc.nextInt();
System.out.println("这个整数的二进制数:");
for (int i = num; i > 0; i/=2) {
numS1=i%2+numS1;
}
System.out.println(numS1);
//打印完二进制后,清空numS1的内容
numS1="";
System.out.println("这个整数的八进制数:");
for (int i = num; i > 0; i/=8) {
numS1=i%8+numS1;
}
System.out.println(numS1);
//打印完二进制后,清空numS1的内容
numS1="";
System.out.println("这个整数的十六进制数:");
String s16="";
System.out.println("这个整数的八进制数:");
for (int i = num; i > 0; i/=16) {
int z16=i%16;
switch (z16) {
case 10:
s16="A";
break;
case 11:
s16="B";
break;
case 12:
s16="C";
break;
case 13:
s16="D";
break;
case 14:
s16="E";
break;
case 15:
s16="F";
break;
default:
s16=String.valueOf(z16);
break;
}
numS1=s16+numS1;
}
System.out.println(numS1);
}
运行效果:
案例三
随机产生一个字符,判断:如果为大写字母则输出“大写字母”;如果为小写字母则输出“小写字母”;否则怎输出“其他字符”;
public static void main(String[] args) {
char zm=(char)(Math.random()*('z'-'A')+'A');
System.out.println(zm);
if(zm>='A'&&zm<='Z'){
System.out.println("大写字母");
}else if(zm>='a'&&zm<='z'){
System.out.println("小写字母");
}else{
System.out.println("其他字符");
}
}
运行效果:
案例四
求两个整数的最大公约数和最小公倍数
解题思路:先求最大公约数,用辗转相除法求,具体用法如下:
例如,求(319,377):
∵ 319÷377=0(余319)
∴(319,377)=(377,319);
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29)
∴ (319,58)=(58,29);
∵ 58÷29=2(余0)
∴ (58,29)= 29;
∴ (319,377)=29。
下面代码中的do循环操作就是用的此方法实现的。
最小公倍数:a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)。
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入两个整数:\n第一个整数:");
int num1=sc.nextInt();
System.out.println("第二个整数:");
int num2=sc.nextInt();
int num1C=num1;
int num2C=num2;
int yuShu=0;
//辗转相除法求得最大公约数
do{
yuShu=num2%num1;
num2=num1;
num1=yuShu;
}while(yuShu!=0);
System.out.println("最大公约数为:"+num2);
System.out.println("最小公倍数为:"+(num1C*num2C)/num2);
}
运行效果:
案例五
将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?
public static void main(String[] args) {
int count=0;
for (int i = 0; i <=100; i++) {
for (int j = 0; j <= 100; j+=5) {
for (int k = 0; k <= 100; k+=10) {
if(i+j+k==100){
count++;
}
}
}
}
System.out.println("将100元兑换为1元、5元、10元的零钱的兑换方法有"+count+"种。");
}
运行效果:
循环案例代码详解(1)相关推荐
- 来FAL学风控|风控策略分析师的日常是怎样的?(案例+代码详解篇)
风控策略分析师的日常是怎样的?(案例+代码详解篇) FAL金科应用研究院 做了5年的金融,3年的数据分析工作,从17年6月才真正接触代码,算不到熟练,但在不断的学习和工作实践中目前是可以解决任何问题的 ...
- 小编程(三):用户登录注册界面开发及用户信息管理案例代码详解
用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程,这算是我写的第一个简单工程,主要功能有:用户登录.注册.注销.修改密码.记住密码共5个基本操作,其内容涉及到以下几点: 1:B ...
- 【Python】Python一行代码能做什么,30个实用案例代码详解
Python语法简洁,能够用一行代码实现很多有趣的功能,这次来整理30个常见的Python一行代码集合. 1.转置矩阵 old_list = [[1, 2, 3], [3, 4, 6], [5, 6, ...
- python循环一段代码_Python循环语句代码详解:while、for、break
导读:循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算.Python中的循环语句有while语句.for语句. 01 while循环 循环语句是程序设计中常用的语句之一.任何编程语言都有 ...
- Python一行代码能做什么,30个实用案例代码详解
Python语法简洁,能够用一行代码实现很多有趣的功能,这次来整理30个常见的Python一行代码集合. 1.转置矩阵 old_list = [[1, 2, 3], [3, 4, 6], [5, 6, ...
- python循环体结束标志_Python循环语句代码详解:while、for、break
1 while循环 循环语句是程序设计中常用的语句之一.任何编程语言都有while循环,Python也不例外.while循环的格式如下所示. while(表达式): - else: - while循环 ...
- 案例+代码详解:用Word2Vec建立你的私人购物助手
图片来源:unsplash.com/@pixtolero2 你注意过亚马逊的"为你推荐"功能吗?事实上,此功能是由机器学习驱动的,精准无比. 网飞.谷歌.亚马逊.Flipkart等 ...
- linux 查redis状态_干货:用案例代码详解Redis中的事件驱动模型
Redis 是一个事件驱动的内存数据库,服务器需要处理两种类型的事件. 文件事件 时间事件 下面就会介绍这两种事件的实现原理. 推荐阅读:我凭借这份pdf拿下了蚂蚁金服.字节跳动.小米等大厂的offe ...
- java五子棋代码详解_java打卡9.5 用方法封装循环点菜代码 详解
import
最新文章
- 病毒木马防御与分析实战
- 如何在 CentOS 7 上生成 SSL 证书为 Nginx 加密
- 东莞市经济贸易学校计算机,2017东莞市经济贸易学校中考录取分数线公布
- 最新建账年(over partition by)的研究
- 有了防火墙、IPS、WAF 还需要数据库审计?
- jQuery07源码 (3803 , 4299) attr() prop() val() addClass()等 : 对元素属性的操作
- Modbus协议栈应用实例之二:Modbus RTU从站应用
- c# 子窗口与父窗口之间的传值
- Linux之route命令
- OpenCV4.5.1 | 使用一行代码将图像匹配性能提高14%
- http和https连接下载
- 基于springboot老年人健康体检系统(带论文)
- Android下磁盘分区表损坏,硬盘分区表丢失错误怎么修复TestDisk使用教程
- [多媒体] 10大开源视频剪辑软件
- Gromacs基础教程一:入门建议
- mediasoup数据转发 源码剖析
- backup archivelog all not backed up
- python sample函数取样_Pytorch各种取样器sample
- Linux文件及日志内容
- 酸菜鱼用什么鱼最好吃