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

目录
  • 前言
  • 一、案例1:水仙花
  • 二、案例2:猜数字
  • 三、案例3:减肥计划
  • 四、案例4:不死神兔
  • 五、案例5:评委打分
  • 总结

前言

本期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 实例内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java超详细教你写一个银行存款系统案例

    目录 一.银行存取款 1.前言 2.描述 3.分析 二.银行账户类(BankAccount) 1.方法 2.变量 3.代码示例 三.测试类(Test) 1.要求 2.代码示例 3.运行结果 四.总结 一.银行存取款 1.前言 毕竟谁不喜欢钱呢!(不是) 我看谁不喜欢在知识的海洋中遨游! 2.描述 银行存取款的流程是人们非常熟悉的事情,用户可以在银行对自己的资金账户进行存款.取款.查询余额等操作,极大的便利了人们对自己资金的管理. 编程要求:使用Java知识编写一个银行存取款的程序,实现存取款功能

  • Java超详细教你写一个网络购书系统案例

    目录 一.购书系统 1.前言 2.功能介绍 3.分析 二.图书类(Book) 1.类名及属性 2.代码示例 三.订单项类(OrderItem) 1.类名及属性 2.代码示例 四.订单类(Order) 1.类名及属性 2.代码示例 五.测试类(Test) 1.编写打印图书信息的方法 2.编写购买图书的方法 3.编写打印订单信息方法 4.编写main方法 六.总结 一.购书系统 1.前言 伴随着互联网的飞速发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们

  • Java超详细教你写一个学籍管理系统案例

    目录 前言 一.学籍管理系统功能介绍 1.介绍 2.学籍管理系统的主要功能图示 3.代码编写的思路 二.定义学生类 1.学生类名称: 2.包含的成员变量 3.构造方法 4.成员方法 5.代码示例 三.主界面的代码编写 1.思路 2.代码示例 四.系统功能方法的实现 1.添加学生信息的代码编写 1.1 思路 1.2 添加学生信息的方法说明图 1.3 代码示例 2.查看学生信息的代码编写 2.1 思路 2.2 查看学生信息的方法说明图 2.3 代码示例 3.删除学生信息的代码编写 3.1 思路 3.

  • Java实例项目零钱通的实现流程

    目录 老韩思路: 一些说明 SmallChangeSys用来写main方法代码如下 具体说明各个方法的作用: publicvoidmenu()方法 voiddetailed_()方法 publicvoidinput()方法 publicvoidoutput()方法 SmallChangeSysOOP完整代码 一些图片 注意:本项目来自B站韩顺平老师 点此跳转 完整代码请看这里:gitee 点击这里 GitHub链接 如图: 老韩思路: (1)可以把收益入账和消费,保存到数组中(但目前学到的数组是

  • Java实例讲解反射机制是怎么一回事

    Java反射机制的概述 1.Java的反射(reflection) :机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法.这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制.反射被视为动态语言的关键,反射让Java成为一个准动态语言 .缺点增加不安全性. 2.动态语言(弱类型语言) 是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型..

  • Java访问数据库实例详解

    JAVA程序想要访问数据库,需要进行如下准备: 1.安装一个数据库(这里使用mysql免安装版)2.下载该数据库的驱动包(这里使用mysql官方提供的mysql-connector-java-5.1.39-bin) PS:我的这个免安装的MySQL不知道为什么存储的中文都是乱码,参考了别人的解决方案修改了my-default.ini文件也不行,如果各位看到这篇文章的大佬有解决办法,还请不吝赐教,感谢! 一.启动数据库 将mysql免安装压缩包解压到某目录下双击 mysql-5.6.24-win3

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

    目录 前言 一.案例1:水仙花 二.案例2:猜数字 三.案例3:减肥计划 四.案例4:不死神兔 五.案例5:评委打分 总结 前言 本期Java基础案例: 水仙花.猜数字.减肥计划.不死神兔.评委打分 以下是本篇文章正文内容,仅供参考 一.案例1:水仙花 题目: 在控制台输出所有的水仙花数 什么是水仙花数? 水仙花是一个三位数: 水仙花数的个位.十位.百位的数字立方和等于原数. 分析: 使用循环遍历所有的三位数(100开始到999结束): 计算之前获取三位数中的每个位上的值: 将三位数中的每个数值

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

    目录 前言 一.案例1:两只老虎 二.案例2:三个和尚 三.案例3:考试奖励 总结 前言 以下为本文要记录的大概内容: Java基础案例: 两只老虎.三个和尚.考试奖励 以下是本篇文章正文内容,仅供参考 一.案例1:两只老虎 1.题目: 动物园里有两只老虎,已知两只老虎的体重分别为180kg.200kg,请用程序实现判断两只老虎的体重是否相同. 2.分析: 定义两个变量用于保存老虎的体重(单位为kg,这里只体现数值即可) 用三元运算符实现老虎体重的判断,体重相同,返回true,否则返回false

  • Java程序打包成带参数的jar文件实例代码

    这里我们通过Apache Commons CLI来完成目标功能,废话不多说直接上代码 所需的maven依赖 <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version> </dependency> 这里我们贴出主类代码 Options opts = new Optio

  • java中快速创建带初始值的List和Map实例

    初始化一个List和Map对象并为期加入值的写法如下: List<String> sList = new ArrayList<String>(); sList.add("str1"); sList.add("str2"); Map<String,String> sMap = new HashMap<String, String>(); sMap.put("k1", "v1");

  • Java 使用POI生成带联动下拉框的excel表格实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.apache.poi.hssf.

  • java中javamail发送带附件的邮件实现方法

    本文实例讲述了java中javamail发送带附件的邮件实现方法.分享给大家供大家参考.具体分析如下: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输,JavaMail是可选包,因此如果需要使用的话你需要首先从java官网上下载.目前最新版本是JavaMail1.5.0,下面我们来看看javamail发送带附件的邮件实例 mail.java 代码: 复制代码 代码如下: package mail;

  • Java 语言实现清除带 html 标签的内容方法

    实例如下: public String stripHtml(String content) { // <p>段落替换为换行 content = content.replaceAll("<p .*?>", "\r\n"); // <br><br/>替换为换行 content = content.replaceAll("<br\\s*/?>", "\r\n"); // 去

  • java hasNext()使用实例解析

    这篇文章主要介绍了java hasNext()使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 编写一段程序实现如果输入的一组数中含非整数数字,输出数字相加的和以及"attention"字符,如果全部是数字便输出数字的和. 程序1: package mian; import java.util.Scanner; public class mian { public static void main(String[] args

  • Java Web stmp发送带附件邮件(附SSL版)

    本文实例为大家分享了Java Web stmp发送带附件邮件的具体代码,供大家参考,具体内容如下 public class MailFileSendUtils { private Properties props; //系统属性 private Session session; //邮件会话对象 private MimeMessage mimeMsg; //MIME邮件对象 private Multipart mp; //Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成Mi

  • Java 正则表达式入门详解(基础进阶)

    正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或多个字符串 先来两篇基础知识对于以前没了解过正则表达式的朋友可以先看下面两篇文章 1.正则表达式30分钟入门教程 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它. 2.正则表达式基本语法详解 Java 正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于

随机推荐