• 那些年,我们一起做过的 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));
        }
    }
    

    结果

    实例 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));
    
        }
    }
    

    结果

    实例 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);
        }
    }
    

    结果

    实例 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);
            }
    
        }
    }
    

    结果

    实例 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-programming-instance

  • 相关阅读:
    Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
    办公利器!用Python快速将任意文件转为PDF
    教你用python搭建一个「生活常识解答」机器人
    办公利器!用Python批量识别发票并录入到Excel表格
    遇到禁止复制该怎么办?幸好我会Python...
    通知:生物信息学云论坛第十五场报告会
    centos7设置SSH安全策略–指定IP登陆
    SpringMVC—RequestMapping注解参数说明
    SpringMVC-方法四种类型返回值总结,你用过几种?
    Window下:自带python编辑器的wxpython项目发布打包exe
  • 原文地址:https://www.cnblogs.com/cunyu1943/p/16094178.html
Copyright © 2020-2023  润新知