Java几个实例带你进阶升华上篇

 更新时间:2022年03月29日 11:25:27   作者:不爱生姜不吃醋  
与其明天开始,不如现在行动,本文为你带来几个Java书写的实际案例,对巩固编程的基础能力很有帮助,快来一起往下看看吧

前言

本期Java基础案例: 水仙花、猜数字、减肥计划、不死神兔、评委打分

以下是本篇文章正文内容,仅供参考

一、案例1:水仙花

题目: 在控制台输出所有的水仙花数

什么是水仙花数?

  • 水仙花是一个三位数;
  • 水仙花数的个位、十位、百位的数字立方和等于原数。

分析:

  • 使用循环遍历所有的三位数(100开始到999结束);
  • 计算之前获取三位数中的每个位上的值;
  • 将三位数中的每个数值取出来,计算立方和并与原数值比较;
  • 输出水仙花数。

实践:

代码如下(示例):

public class Demo1 {
    public static void main(String[] args) {
    //不爱生姜不吃醋
        //使用循环遍历所有的三位数(100开始到999结束);

        for(int i=100;i<1000;i++){
            // 计算之前获取三位数中的每个位上的值;
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100%10;

            // 将三位数中的每个数值取出来,计算立方和并与原数值比较;
            if(ge*ge*ge+shi*shi*shi+bai*bai*bai == i){
                // 输出水仙花数。
                System.out.print(i+" ");
            }
        }
    }
}

二、案例2:猜数字

题目:

程序自动生成一个1-100之间的数字,实用程序实现猜出这个数字是多少? 当猜错的时候根据不同情况给出相应的提示:

  • 猜的数字比真实数字大,提示猜的数据大了;
  • 猜的数字比真实数字小,提示猜的数小了;
  • 猜的数字等于真实数字,提示恭喜猜中了。

分析:

  • 使用随机数生成该数字(范围0-100);
  • 使用循环反复进行猜数字过程;
  • 使用键盘录入实现输入的猜测数字;
  • 比较猜测的数字与生成的数字;
  • 猜中后结束循环;

实践:

代码如下(示例):

public class Demo2 {
    public static void main(String[] args) {
    //不爱生姜不吃醋
        // 使用随机数生成该数字(范围0-100);
        //需要导包import java.util.Random;
        Random r=new Random();
        int num=r.nextInt(100)+1;

        // 使用循环反复进行猜数字过程;
        while(true) {
            // 使用键盘录入实现输入的猜测数字;
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你猜的数字:");
            int s = sc.nextInt();

            // 比较猜测的数字与生成的数字;
            if(s>num){
                System.out.println("猜的数字大了!");
            }else if(s<num){
                System.out.println("猜的数字小了!");
            }else{
                System.out.println("恭喜你,猜中了!");

                // 猜中后结束循环;
                break;
            }
        }
    }
}

三、案例3:减肥计划

题目:

输入星期数,显示今天的减肥计划

分析:

  • 键盘录入一个星期数,用一个变量接收;
  • 使用switch语句进行判断;
  • 输出对应的语句。

实践:

代码如下(示例):

public class Demo3 {
    public static void main(String[] args) {
    //不爱生姜不吃醋
        // 键盘录入一个星期数,用一个变量接收;
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入星期数:");
        int week=sc.nextInt();

        // 使用switch语句进行判断;
        switch(week){
            case 1:
                System.out.println("今天的计划是:跑步!");
                break;
            case 2:
                System.out.println("今天的计划是:爬山!");
                break;
            case 3:
                System.out.println("今天的计划是:游泳!");
                break;
            case 4:
                System.out.println("今天的计划是:骑自行车!");
                break;
            case 5:
                System.out.println("今天的计划是:拳击!");
                break;
            case 6:
                System.out.println("今天的计划是:健美操!");
                break;
            case 7:
                System.out.println("今天的计划是:休息!");
                break;
            default:
                System.out.println("输入的星期数有误!");
                break;
        }
    }
}

四、案例4:不死神兔

题目:

有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第十二个月的兔子对数为多少?

分析:

  • 定义一个数组并进行动态初始化,长度为20;
  • 第一个月和第二个月兔子对数都是已知的,都为1;
  • 用循环实现计算每个月的兔子对数;
  • 输出数组中最后一个元素的值(就是第二十个月兔子的对数)。

实践:

代码如下(示例):

public class Demo4 {
    public static void main(String[] args) {
    //不爱生姜不吃醋
        // 定义一个数组并进行动态初始化,长度为20;
        int[] arr=new int[20];

        // 第一个月和第二个月兔子对数都是已知的,都为1;
        arr[0]=arr[1]=1;

        // 用循环实现计算每个月的兔子对数;
        for(int i=2;i<arr.length;i++){
            arr[i]=arr[i-2]+arr[i-1];
        }

        // 输出数组中最后一个元素的值(就是第二十个月兔子的对数)。
        System.out.println("第二十个月兔子的对数为:"+arr[19]);
    }
}

五、案例5:评委打分

题目: 在比赛中,有6个评委为参赛的选手打分,分数为0-100的整数分,选手的最后得分为:去掉一个最高分和一个最低分后的4个评委打分的平均值(不考虑小数部分)。

分析:

  • 定义一个数组,用动态初始化完成数组元素的初始化,长度为6;
  • 键盘录入评委分数;
  • 用循环改进的方法接受评委的分数;
  • 定义方法实现获取数组中的最高分(调用方法);
  • 定义方法实现获取数组中的最低分(调用方法);
  • 定义方法实现数组中所偶有元素的和(调用方法);
  • 按照计算规则计算得到平均分;
  • 输出平均分。

实践:

定义方法实现获取数组中的最高分(最后要调用方法);

    public static int getMax(int[] arr){
        int x=arr[0];
        for(int a=1;a<arr.length;a++){
            if(x < arr[a]){
                x=arr[a];
            }
        }
        return x;
    }

定义方法实现获取数组中的最低分(最后要调用方法);

    public static int getMin(int[] arr){
        int b=arr[0];
        for(int y=1;y<arr.length;y++){
            if(b > arr[y]){
                b=arr[y];
            }
        }
        return b;
    }

定义方法实现数组中所偶有元素的和(最后要调用方法);

   public static int getSum(int[] arr){
        int sum=0;
        for(int c=0;c<arr.length;c++){
            sum+=arr[c];
        }
        return sum;
    }

主方法编写。

    public static void main(String[] args) {
    //不爱生姜不吃醋
        // 定义一个数组,用动态初始化完成数组元素的初始化,长度为6;
        int[] arr=new int[5];

        //  键盘录入评委分数
        Scanner sc=new Scanner(System.in);

        // 用循环改进的方法接受评委的分数;
        for(int i=0;i<arr.length;i++){
            arr[i]=sc.nextInt();
        }

        // 按照计算规则计算得到平均分;
        int avg=(getSum(arr)-getMax(arr)-getMin(arr))/(arr.length-2);
        // 输出平均分。
        System.out.println("最终得分为:"+ avg);
    }

总结

本文五个Java案例分别用到了循环遍历、随机生成数、键盘录入、switch语句和定义方法和调用方法。

到此这篇关于Java几个实例带你进阶升华上篇的文章就介绍到这了,更多相关Java 实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 手动实现将本地jar添加到Maven仓库

    手动实现将本地jar添加到Maven仓库

    这篇文章主要介绍了手动实现将本地jar添加到Maven仓库方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 了解JAVA并发工具常用设计套路

    了解JAVA并发工具常用设计套路

    这篇文章主要介绍了了解JAVA并发工具常用设计套路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • Spring Boot开发RESTful接口与http协议状态表述

    Spring Boot开发RESTful接口与http协议状态表述

    这篇文章主要为大家介绍了Spring Boot开发RESTful接口与http协议状态表述,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • JVM 心得 OOM时的堆信息获取方法与分析

    JVM 心得 OOM时的堆信息获取方法与分析

    下面小编就为大家带来一篇JVM 心得 OOM时的堆信息获取方法与分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Java编程实现从给定范围内随机N个不重复数生成随机数的方法小结

    Java编程实现从给定范围内随机N个不重复数生成随机数的方法小结

    这篇文章主要介绍了Java编程实现从给定范围内随机N个不重复数生成随机数的方法,结合实例形式较为详细的分析了java根据指定范围生成不重复随机数的相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • MyBatisPlus深入探究映射匹配的兼容性

    MyBatisPlus深入探究映射匹配的兼容性

    在最近的工作中,碰到一个比较复杂的返回结果,发现简单映射已经解决不了这个问题了,只好去求助百度,学习mybatis映射匹配应该怎么写,将学习笔记结合工作碰到的问题写下本文,供自身查漏补缺,同时已被不时之需
    2022-08-08
  • 关于Spring源码深度解析(AOP功能源码解析)

    关于Spring源码深度解析(AOP功能源码解析)

    这篇文章主要介绍了关于Spring源码深度解析(AOP功能源码解析),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤

    SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤

    这篇文章主要介绍了SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java版数据结构插入数据时遇到的结点为空的问题详解

    Java版数据结构插入数据时遇到的结点为空的问题详解

    这篇文章主要介绍了Java版数据结构插入数据时遇到的结点为空的问题及解决办法,需要的朋友们可以学习下。
    2019-09-09
  • java实现潜艇大战游戏源码

    java实现潜艇大战游戏源码

    潜艇大战游戏相信大家都玩过,是一款非常有趣的小游戏,那么基于代码是如何实现的呢?今天小编给大家带来一篇教程帮助大家学习java实现潜艇大战游戏,感谢的朋友一起看看吧
    2021-06-06

最新评论