一、代码演示
这个升级版的退休储蓄计算器Retirement3_4,比上一版更具互动性!你不仅可以设定目标存款金额,还能在每年结束时决定是否继续储蓄,直到你满意为止。这个设计就像是在玩"人生选择模拟器",你可以随时决定什么时候退休!
import java.util.Scanner;public class Retirement3_4 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("你想攒多少钱用来退休养老?");double goal = scanner.nextDouble();System.out.println("你每年攒多少钱用于完成你的养老目标?");double payment = scanner.nextDouble();System.out.println("存入的养老金,每年的利率是多少?");double interestRate = scanner.nextDouble();double balance = 0;int years = 0;String input;do {// 计算每年的存款和利息balance += payment;double interest = balance * interestRate / 100;balance += interest;years++;// 输出当前年份和余额System.out.println("经过了 " + years + " 年," + "你的基金达到了:" + balance);System.out.println("所以你准备退休了吗?(Y/N)");input = scanner.next(); // 获取用户输入} while (input.equals("N")); // 用户输入 N 表示继续储蓄System.out.println("恭喜你,你攒了 " + balance + " 元用于晚年生活!");}
}
二、演示效果
你想攒多少钱用来退休养老?
(你输入)1000000
你每年攒多少钱用于完成你的养老目标?
(你输入)50000
存入的养老金,每年的利率是多少?
(你输入)5
经过了 1 年,你的基金达到了:52500.0
所以你准备退休了吗?(Y/N)
(你输入)N
经过了 2 年,你的基金达到了:107625.0
所以你准备退休了吗?(Y/N)
(你输入)N
(...如此循环,直到用户输入 Y)
恭喜你,你攒了 [余额] 元用于晚年生活!
三、代码解释
1.do-while 循环:
do-while 是一种后测试循环结构,保证程序至少执行一次,这种结构在询问用户是否继续操作时非常适用。
用户每年存款后,程序会计算新的余额,并询问用户是否准备退休。
2.动态互动:
通过 System.out.println
,程序输出每年的存款情况,并让用户决定是否继续储蓄,直到用户输入 "Y"(表示退休)。
3.灵活性:
相较于上一个版本,这个版本更灵活,用户可以实时看到自己的余额变化,并决定是否继续储蓄,增加了互动体验。
四、思考
- 输入比较:使用
input.equals("N")
,可以确保用户输入 "N" 时继续循环。你也可以扩展功能,比如接受小写的 "n" (input.equalsIgnoreCase("n")
)。 - 输入异常处理:目前没有处理用户输入非预期字符的情况,后续可以加上异常处理来增强程序的健壮性。
五、总结
这个升级版的储蓄计算器让用户可以根据自己的余额变化,实时做出退休决策,体验上更贴近现实中的理财规划。通过这个案例,你学会了 do-while 循环 的使用,以及如何通过用户交互控制程序流程。是不是感觉编程越来越像是在玩模拟人生游戏了呢?
下一步,我们可以继续优化这个程序,比如添加输入检查和异常处理,让它变得更加人性化和实用!
欢迎来到《Java 核心技术之风趣解读》专栏!
朋友们你们好,我是Theodore,这个专栏将会带你以轻松有趣的方式学习《Java 核心技术》这本书中的各种经典案例。每篇文章都会将枯燥的代码变得生动形象,穿插一些编程小故事、段子和贴心的解释,让你在欢乐中掌握 Java 编程的精髓。
不论你是刚接触 Java 的小白,还是希望巩固基础的老手,在这里你都会收获到干货和乐趣。希望你们能够在每篇文章中,不仅学到知识,还能收获一份编程的快乐。
免责声明
本专栏中的所有案例代码和讲解均来源于《Java 核心技术》一书,并经过幽默化加工,仅用于学习和分享,旨在帮助大家更好地理解 Java 编程。
- 非商业用途:所有内容仅供学习和参考,未经允许不得用于商业用途。
- 代码解释:由于风趣讲解涉及到一些轻松幽默的比喻,可能会夸张化或调侃部分编程术语,请以实际代码为准。
- 风险提示:编程是一项严谨的工作,请勿轻易在生产环境中直接使用未经测试的代码。博主会尽力确保代码的正确性,但不对因使用本专栏代码引起的任何问题负责。
- 版权声明:本专栏内容部分引用《Java 核心技术》的案例,相关版权归原书作者所有。本专栏的幽默化讲解和额外内容为原创部分,转载请注明出处。
最后,希望大家在学习的过程中开开心心,不断进步!有任何问题,欢迎在评论区留言讨论。让我们一起在 Java 世界里畅游吧!