基础篇
# 1. Scanner
的使用
# 1.1 需求描述
请简单模拟某网站的注册功能,从键盘采集用户的信息,包括用户名、密码、手机号、邮箱、验证码。
# 1.2 运行效果
请输入您的用户名:
zhangsan
请输入您的密码:
123456
请输入您的手机号:
15132141234
请输入您的邮箱:
zhangsan@itheima.com
已发送验证码至您的手机:
766123
注册成功!
zhangsan
123456
15132141234
zhangsan@itheima.com
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1.3 实现代码
// 请输入您的实现代码
# 2. 条件语句:if
# 2.1 需求描述
下面是您的购物车,请使用if
条件语句来模拟购物车结算:
# 2.2 运行效果
购物车清单:
1. 宁夏黑枸杞(价格:30,数量:2)
2. 苹果(价格:12,数量:7)
3. 香蕉(价格:9,数量:5)
--------------------------------------------------
请输入您的选择:
1. 结算所有商品
2. 结算单个商品
2
请输入您要结算的商品:1. 宁夏黑枸杞 2. 苹果 3. 香蕉
1
结算成功,您已支付60.00元
2
3
4
5
6
7
8
9
10
11
12
# 2.3 实现代码
# 3. 条件语句:if
# 3.1 需求描述
某游戏公司元旦为促进消费,在游戏内举办充值返利活动,该游戏公司设置了如下8种充值礼包,具体返利规则如下:
- 其中
1 ~ 5
不参与返利活动,6 ~ 8
参与返利活动 - 所有返利活动和用户选择的支付方式有关,
1 - 银行卡支付
,不参与返利活动,2 - 黑马钱包支付
,参与返利活动,返利为50%
,比如,充值198
元,如果使用黑马钱包支付,则可以获得钻石数量为1980 + 1980 * 50% = 2970
个钻石
------------下列礼包不参与返利-------------
1. ----- 1元 = 10钻石
2. ----- 6元 = 60钻石
3. ----- 18元 = 180钻石
4. ----- 30元 = 300钻石
5. ----- 68元 = 680钻石
------------下列礼包参与返利活动-----------
6. ----- 118元 = 1180钻石
7. ----- 198元 = 1980钻石
8. ----- 348元 = 3480钻石
2
3
4
5
6
7
8
9
10
请您用java
程序模拟上述的充值功能。
提示
- 键盘录入用户选择的充值礼包,使用
if
语句区分正常该到账的钻石数量 - 键盘录入用户的支付方式
- 判断礼包是否是
1 ~ 5
,这几种礼包无论选择哪种支付方式,都不参加返利活动 - 判断礼包是否是
6 ~ 8
,如果是,则判断选择的支付方式是否为黑马钱包支付,是则参加返利活动,否则不参加。
- 判断礼包是否是
# 3.2 实现效果
# 3.3 实现代码
# 4. 循环结构:for
# 4.1 需求描述
已知2022年是虎年,请在控制台输出从2022年到2222年中所有是虎年的年份。
提示
- 2022年到2222年,需要逐年判断,需用循环
- 已经明确2022年是虎年,下一个虎年在12年之后。
# 4.2 实现代码
# 5. 条件、循环结合
# 5.1 需求描述
中国有闰年的说法,规则是:四年一闰,半年不闰,四百年再闰。也即是年份能够被4整除但不能被100整除算是闰年,年份能被400整除也是闰年。请打印出1949年到2049年所有的闰年年份。
提示
- 1949年到2049年,需要逐个判断
- 年份能够被4整除但不能被100整除算闰年,年份能被400整除的也是闰年,此处需要使用
if
条件语句
# 5.2 实现代码
# 6. 条件、循环结合
# 6.1 需求描述
假设一个简单的在ATM机上的取款过程如下:
- 提示用户输入取款金额(money)
- ATM只能输出100元纸币,因此输入的金额必须是100的整数倍,并且要求取钱数最低为100元,最高为10000元
- 如果用户输入的金额符合上述要求,则打印输出用户取的钱数
- 如果输入的取款金额有误,就给出错误提示并让用户继续录入,直到用户输入正确位置。
# 6.2 运行效果
# 6.3 实现代码
# 7. 数组练习
# 7.1 需求描述
某班级安排了一场考试,考试成绩分别是 90 100 90 80 70 60 55 61 72 83
,请将考试成绩存入数组当中,并计算出该班级的考试平均分。
提示
- 题目已经明确给出了要操作的元素,由同学自行决定初始化数组的方式;
- 平均分 = 总成绩 / 班级人数
# 7.2 实现代码
# 8. 数组练习
# 8.1 需求描述
请使用Java模拟简单的考试管理系统,要求用户先由键盘录入班级的总人数,然后再录入每个学生的考试成绩,最后计算出班级的(总成绩,平均分,最高分,最低分,不及格人数(低于60分))
提示
- 实际要操作的是班级里面多个学生成绩,可以使用数组存储
- 题目没有明确告知具体有哪些学生,因此数组的创建不能继续使用静态初始化的方式,可以让用户键盘录入一个班级人数,然后根据这个班级人数,来动态初始化一个数组
- 键盘录入学生成绩,将数组填满,使用
for
循环; - 计算总成绩、平均分、最高分、不及格人数(低于60分)
# 8.2 运行效果
# 8.3 实现代码
# 9. 方法定义
# 9.1 需求描述
定义一个方法,使其能够计算出三个整数的最小值,在main
方法中让用户通过控制台输入三个数,用接收到的三个数字作为参数调用定义的方法,最后输出方法的返回结果,也即是3个数字的最小值。
提示
- 参数:具体计算哪三个数字不确定,需要使用
Scanner
通过控制台输入 - 方法要可以接收3个参数,也即是有3个形参
- 返回值:需要返回3个数字的最小值
# 9.2 实现代码
# 10. 方法设计
# 10.1 需求描述
使用Java模拟一个简单的考试管理系统,已知考试成绩为10, 20, 30, 40, 50, 60, 70, 80
:
- 程序运行后,展示一个菜单,根据用户输入的选择,程序响应不同的业务逻辑
- 程序需要一直运行,直到用户输入
6
的时候,运行终止
提示
- 将需要操作的多个成绩,存入一个数组中
- 使用输出语句构建菜单
- 利用
switch
或者if
语句,建议使用if
,区分用户输入的内容:1 2 3 4 5 6
1 ~ 5
每一个都是一段独立的功能,可以定义5个方法,分别实现业务- 在用户输入
1 ~ 5
的时候,调用对应的方法
# 10.2 运行效果
# 10.3 实现代码
# 11. 类的定义
# 11.1 需求描述
某购房系统,后台需要录入客户的信息,为了更好的封装客户信息,请设计出合理的客户JavaBean。
提示
先思考要封装的数据有哪些,其实就是有哪些属性。
# 11.2 实现代码
# 12. String
字符串
# 12.1 需求描述
使用Java程序模拟校验手机号功能,使用键盘录入一个手机号,用Java程序判断格式是否正确
- 必须以1开头
- 必须是11位
- 第二位可以是
3, 4, 5, 6, 7, 8, 9
- 全部都是数字
提示
- 获取出字符串中的第一个字符,判断是否为1
- 每一位字符都可能不是数字,需要循环遍历字符串,逐个判断
- 判断一个字符是否为数字,如果这个字符的ASCII码在
'0' ~ '9'
之间
# 12.2 实现代码
# 13. String
字符串
# 13.1 需求描述
使用Java随机产生一个5位的验证码展示在控制台,验证码内容由(a-z A-Z 0~9
)组成,随后键盘录入用户输入的验证码,校验是否正确。
提示
- 设计一个数组,数组中有
a-z A-Z 0-9
- 随机从数组中取出5个字符,拼接到一起
# 13.2 实现代码
# 14. StringBuilder
# 14.1 需求描述
请定义一个方法用于判断一个字符串是否是对称字符串,并在主方法main
中进行测试,例如:"abcba","上海自来水来自海上**均为对称字符串
提示
可以对字符串做反转操作,如果反转后和原来的一样,就是对称字符串
# 14.2 实现代码
# 15. 集合
# 15.1 需求描述
假设要使用Java编写一款图书管理系统,系统需要对图书信息进行维护(编号、书名、价格)请编写代码,实现添加和查看功能
- 添加功能:键盘录入图书信息并存储
- 查看功能:展示出所有图书信息
提示
- 添加、查看需要设计一个菜单,让用户进行选择操作
- 准备图书的
JavaBean
- 要存储的图书对象,数量不明确,需要确定使用哪一种集合容器
- 使用控制台输出菜单
- 实现基本的添加和查看功能
- 在添加录入数据的时候,对图书编号进行唯一性校验,已经添加的图书编号不允许重复添加
# 15.2 实现代码
- 1. Scanner的使用
- 1.1 需求描述
- 1.2 运行效果
- 1.3 实现代码
- 2. 条件语句:if
- 2.1 需求描述
- 2.2 运行效果
- 2.3 实现代码
- 3. 条件语句:if
- 3.1 需求描述
- 3.2 实现效果
- 3.3 实现代码
- 4. 循环结构:for
- 4.1 需求描述
- 4.2 实现代码
- 5. 条件、循环结合
- 5.1 需求描述
- 5.2 实现代码
- 6. 条件、循环结合
- 6.1 需求描述
- 6.2 运行效果
- 6.3 实现代码
- 7. 数组练习
- 7.1 需求描述
- 7.2 实现代码
- 8. 数组练习
- 8.1 需求描述
- 8.2 运行效果
- 8.3 实现代码
- 9. 方法定义
- 9.1 需求描述
- 9.2 实现代码
- 10. 方法设计
- 10.1 需求描述
- 10.2 运行效果
- 10.3 实现代码
- 11. 类的定义
- 11.1 需求描述
- 11.2 实现代码
- 12. String字符串
- 12.1 需求描述
- 12.2 实现代码
- 13. String字符串
- 13.1 需求描述
- 13.2 实现代码
- 14. StringBuilder
- 14.1 需求描述
- 14.2 实现代码
- 15. 集合
- 15.1 需求描述
- 15.2 实现代码