那些年,我们一起做过的 Java 课后练习题(71 - 75)

实例 71 题目
假如我国国民生产总值的年增长率为 10%,则 n 年后我国国民生产总值与现在相比增长多少百分比?
分析
计算公式:
$$p = (1+r)^n$$
其中 r 为年增长率,n 为年数,p 为与现在相比的倍数。
实现

import java.util.Scanner; import static java.lang.Math.pow; /** * Created with IntelliJ IDEA. * * @Package : PACKAGE_NAME * @ClassName : Example71.java * @CreateTime : 2022/4/1 23:11 * @Version : 1.0 * @Author : 村雨 * @Email : 747731461@qq.com * @公众号 : 村雨遥 * @Website : https://cunyu1943.github.io * @Description : */ public class Example71 { public static final double R = 0.1; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入年数"); int n = scanner.nextInt(); System.out.format("%d 年后相比现在增长了:%.2f 倍\n", n, pow(1 + R, n)); } }

结果
那些年,我们一起做过的 Java 课后练习题(71 - 75)
文章图片

实例 72 题目
假设你有 1000 元,想要存 5 年,可以按照以下 5 种存法:
  • 一次存 5 年
  • 先存 2 年,到期后将本息再存 3 年
  • 先存 3 年,到期后将本息再存 2 年
  • 先存 1 年,到期后将本息再存 1 年,连续存 5 年
  • 存活期,活期利息每季度结算一次
某年的某银行存款利息如下:
  • 1 年期定期:4.14%
  • 2 年期定期:4.68%
  • 3 年期定期:5.4%
  • 5 年期定期:5.85%
  • 活期:0.72%
分析
假设 r 为年利率,n 为存款年数,则计算本息和的公式为:
1 年期:$p=1000*(1+r)$
n 年期:$p==1000*(1+n*r)$
存 n 次 1 年期:$p = 1000*(1+r)^n$
活期存款:$p=1000*(1+r/4)^{4n}$
实现
import java.util.Scanner; import static java.lang.Math.pow; /** * Created with IntelliJ IDEA. * * @Package : PACKAGE_NAME * @ClassName : Example71.java * @CreateTime : 2022/4/1 23:12 * @Version : 1.0 * @Author : 村雨 * @Email : 747731461@qq.com * @公众号 : 村雨遥 * @Website : https://cunyu1943.github.io * @Description : */ public class Example72 { public static final double R0 = 0.0072; public static final double R1 = 0.0414; public static final double R2 = 0.0468; public static final double R3 = 0.054; public static final double R5 = 0.0585; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入本金"); float p = scanner.nextFloat(); System.out.format("一次存 5 年:%.2f\n", p * (1 + R5 * 5)); System.out.format("先存 2 年,到期后本息存 3 年:%.2f\n", p * (1 + 2 * R2) * (1 + 3 * R3)); System.out.format("先存 3 年,到期后本息存 2 年:%.2f\n", p * (1 + 2 * R2) * (1 + 3 * R3)); System.out.format("存 1 年期,到期后本息再存,连续存 5 年:%.2f\n", p * pow(1 + R1, 5)); System.out.format("存活期:%.2f\n", p * pow(1 + R0 / 4, 4 * 5)); } }

结果
那些年,我们一起做过的 Java 课后练习题(71 - 75)
文章图片

实例 73 题目
设圆半径 r,圆柱高 h,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
分析
对应求值公式:
  • 圆周长:$2πr$
  • 圆面积:$πr^2$
  • 圆球表面积:$4πr^2$
  • 圆球体积:$4πr^3/3$
  • 圆柱体积:$πr^2h$
实现
import java.util.Scanner; /** * Created with IntelliJ IDEA. * * @Package : PACKAGE_NAME * @ClassName : Example73.java * @CreateTime : 2022/4/1 23:12 * @Version : 1.0 * @Author : 村雨 * @Email : 747731461@qq.com * @公众号 : 村雨遥 * @Website : https://cunyu1943.github.io * @Description : */ public class Example73 { public static final double PI = 3.141526; public static void main(String[] args) {Scanner scanner = new Scanner(System.in); System.out.println("请输入圆半径 r,圆柱高 h"); float r = scanner.nextFloat(); float h = scanner.nextFloat(); System.out.format("圆周长:%.2f\n", 2 * PI * r); System.out.format("圆面积:%.2f\n", PI * r * r); System.out.format("圆球表面积:%.2f\n", 4 * PI * r * r); System.out.format("圆球体积:%.2f\n", 4 / 3 * PI * r * r * r); System.out.format("圆柱体积:%.2f\n", h * PI * r * r); } }

结果
那些年,我们一起做过的 Java 课后练习题(71 - 75)
文章图片

实例 74 题目
有一个函数:
$$y=\begin{cases}x,x<1\\2x-1,1<=x<10\\3x-11,x>=10\end{cases}$$
输入 $x$ 的值,输出 $y$ 相应的值。
分析
没什么好说的,直接利用条件控制,通过对 $x$ 值的判断,然后计算对应 $y$ 值并输出。
实现
import java.util.Scanner; /** * Created with IntelliJ IDEA. * * @Package : PACKAGE_NAME * @ClassName : Example74.java * @CreateTime : 2022/4/1 23:12 * @Version : 1.0 * @Author : 村雨 * @Email : 747731461@qq.com * @公众号 : 村雨遥 * @Website : https://cunyu1943.github.io * @Description : */ public class Example74 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入 x"); int x = scanner.nextInt(); if (x < 1) { System.out.format("x = %d,y = %d\n", x, x); } else if (x < 10) { System.out.format("x = %d,y = %d\n", x, 2 * x - 1); } else { System.out.format("x = %d,y = %d\n", x, 3 * x - 11); }} }

结果
那些年,我们一起做过的 Java 课后练习题(71 - 75)
文章图片

实例 75 题目
给出 100 分制成绩,要求输出成绩等级 A、B、C、D、E。90 以上为 A,80 ~ 89 为 B,70 ~ 79 为 C,60 ~ 69 为 D,60 以下为 E。
分析
既可以通过对分数的所属区间判断,也可以利用分数先整除 10,然后对得到的商进行判断,输出成绩的对应等级。
实现
import java.util.Scanner; /** * Created with IntelliJ IDEA. * * @Package : PACKAGE_NAME * @ClassName : Example75.java * @CreateTime : 2022/4/1 23:13 * @Version : 1.0 * @Author : 村雨 * @Email : 747731461@qq.com * @公众号 : 村雨遥 * @Website : https://cunyu1943.github.io * @Description : */ public class Example75 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); char grade = 'A'; System.out.println("请输入学生成绩"); int score = scanner.nextInt(); while (score < 0 || score > 100) { System.out.println("输入有误,请重新输入"); score = scanner.nextInt(); } switch (score / 10) { case 10: case 9: grade = 'A'; break; case 8: grade = 'B'; break; case 7: grade = 'C'; break; case 6: grade = 'D'; break; case 5: case 4: case 3: case 2: case 1: case 0: grade = 'E'; break; } System.out.format("成绩为:%d,相应等级为:%c", score, grade); } }

结果
那些年,我们一起做过的 Java 课后练习题(71 - 75)
文章图片

最后 【那些年,我们一起做过的 Java 课后练习题(71 - 75)】关于本文的代码,我已经上传到了开源平台,有需要的读者可以自取。
java-programming-instance

    推荐阅读