🔎这里是JAVA成仙路,关注我学习JAVA不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️
**前言:本章展示了三个基础小案例,代码中有详细注释。
JAVA成仙路从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助!**
@[TOC]
一、百钱百鸡
问题描述: 一百元购买一百只公鸡,母鸡,小鸡。
公鸡一只5元,母鸡一只3元,小鸡三只,一元。
一百元必须花完,必须买100只鸡。分析:
一百元全买公鸡,可以买20只。所以公鸡最多20只
一百元全买母鸡,可以买100/3只。所以母鸡最多100/3只
一百元全买小鸡,可以买300只,但是最多买100只鸡,所以最多100只。
定义三个循环嵌套
第一个循环公鸡的数量
第二个循环母鸡的数量
第三个循环小鸡的数量
代码如下:
//百钱百鸡
public static void main(String[] args) {
for (int i = 0; i <= 20; i++) {//定义公鸡初始值为0,每次循环加一只,最多20只
for (int j = 0; j <= 100 / 3; j++) {//定义母鸡初始值为0,每次循环加一只,最多100/3只
for (int k = 0; k <= 100; k++) {//定义小鸡初始值为0,每次循环加一只,最多100只
if (i * 5 + j * 3 + k / 3 == 100 && k % 3 == 0 && i + j + k == 100) {//判断鸡的价值总额等于100并且总数也是100而且小鸡的数量需要是3的倍数,不然钱花不完
System.out.printf("公鸡:%2d母鸡:%2d小鸡:%2d", i, j, k);//输出公鸡母鸡小鸡的个数
System.out.println();//换行
}
}
}
}
}
二、猜数字小游戏
执行代码,输入你猜的数字。一共十次机会,输入“不想玩了”可以退出游戏。如果输入其他字符将输入错误,重新输入。
public static void main(String[] args) {
{
Random ran = new Random();//实例化随机对象
int b = ran.nextInt(100) + 1;//随机生成一个数字作为答案
int i;
for (i = 0; i < 10; i++) {//给游戏设定一个次数,最多输入10次
System.out.println("请输入一个数:");
Scanner a = new Scanner(System.in);//实例化一个输入流对象
if (a.hasNextInt()) {//判断输入的书否为int类型
var c = a.nextInt();//将输入的值赋给c
if (c < b) {//判断c是否小于答案,如果是就输出下面这段话
System.out.printf("太小了,还剩%2d次机会", 9 - i);
System.out.println();
} else if (c > b) {//判断c是否大于答案,如果是就输出下面这段话
System.out.printf("太大了,还剩%2d次机会", 9 - i);
System.out.println();
} else {//否则就是等于答案
System.out.println("猜对了");
System.out.println("游戏结束,获胜");
break;
}
} else {//如果输入的不是int类型,运行下面这段代码
if ("不想玩了".equals(a.next())) {//判断输入的是否为不想玩了这几个字,如果是就执行下面这句话
System.out.println("结束游戏,不玩了");
break;
} else {//否则就输出下面这段话
System.out.println("输入错误");
i--;//i-1 此次输入不算次数
}
}
}
if (i == 10) {//判断输入次数是否为10次,如果为十次就输出下面这段话
System.out.println("游戏结束,失败");
}
}
}
三、双色球随机摇号
随机生成6个红色球 和1个篮色球
蓝色球的数值范围(1-16)
红色球范围(1-33)
//双色球选号
public static void main(String[] args) {
Random ran = new Random();//实例化一个随机对象
int a = ran.nextInt(16) + 1;//随机生成一个一到十六之间的数
System.out.printf("蓝:%02d", a);//输出篮球
System.out.println(" ");
System.out.print("红:");
int[] b = new int[6];//定义一个数组长度为6
Set<Integer> c = new HashSet<>();//实例化一个集合对象
while (c.size() != 6) {//判断集合的长度是否为6,不为6就执行下面代码
c.add(ran.nextInt(33) + 1);//向集合中添加一个一到33之间的数字
}
for (int i : c) {
System.out.printf("%02d ", i);//遍历输出集合中的数字
}
}