兔子生兔子的Java解决方式

2023-11-12

最近在学python,其中有这样一道题

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

没有做出来,先用笔在纸上算的时候也是稀里糊涂的。后来想办法建模运算,毕竟Java语言号称模拟自然界,向来是有办法解决的,过程中遇到了很多问题,也有一些思考,现在把我认知到的内容分享给大家,希望对大家有帮助

第一,分解问题,大问题转换为小问题,小问题用编程方式解决出来。
第二,写注释,按照注释的内容构建自己的类。

好了,下面上代码
第一个类 helo.java

import java.util.ArrayList;

/**
 * Created by Y_a on 2016/12/8.
 */
public class helo {
    public static void main(String[] args) {
        Tuzi hehe = new Tuzi(0);
        ArrayList<Tuzi> tuziwo = new ArrayList<Tuzi>();
        tuziwo.add(hehe);
        for (int i = 1; i < 20; i++) {
            //年龄大于3的兔子生小兔子
            for (int j = 0; j < tuziwo.size(); j++) {
                if (tuziwo.get(j).isAgeBigger(i)) {
                    //把小兔子加到窝里面去
                    tuziwo.add(new Tuzi(i));
                }
            }
        }
        System.out.print(tuziwo.size());
    }
}

第二个类 Tuzi.java

/**
 * Created by Y_a on 2016/12/9.
 */
public class Tuzi {
    int birthday = 0;

    public Tuzi(int birthday) {
        this.birthday = birthday;
    }

    public boolean isAgeBigger(int currentDay) {
        return (currentDay - birthday >= 2) ? true : false;
    }

}

结果图

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

兔子生兔子的Java解决方式 的相关文章

  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • 如何在ArrayList中的特定位置插入对象

    假设我有一个大小为 n 的对象的 ArrayList 现在我想在特定位置插入另一个对象 假设在索引位置 k 大于 0 且小于 n 并且我希望索引位置 k 处及其之后的其他对象向前移动一个索引位置 那么有没有什么方法可以直接在Java中做到这
  • 如何在 Android 中的 Chrome 或 Firefox 等特定浏览器的 Web 视图中加载应用程序

    我是 Android 新手 我正在做一个应用程序 我需要在平板电脑上的 Web 视图中加载现有的应用程序 在平板电脑中 当我使用 Web 视图加载应用程序时 我的应用程序将加载到默认浏览器中 如何在平板电脑上的 Web 视图中的特定浏览器
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • 在 Eclipse 3.5 上安装旧版 TestNG 插件时出现问题

    我正在尝试在 eclipse 3 5 上安装 TestNG 5 11 并获得以下信息 eclipse buildId unknown java version 1 6 0 19 java vendor Sun Microsystems In
  • Java Junit 测试 HTTP POST 请求

    我需要测试以下方法而不改变方法本身 该方法向服务器发出 POST 方法 但我需要制作一个独立于服务器的测试用例 在将其重定向到本地文件之前 我测试了类似的方法 但为此我将协议指定为文件 主机名指定为 localhost 端口指定为 1 我的
  • 绘制平滑曲线

    我想创建更平滑的曲线 而不仅仅是线角 这是我现在画的图 这是我的代码 case FREEHAND float pts float ptk ptk new float 2 imageMatrix invert inv if mCurrentS
  • Java 中如何验证字符串的格式是否正确

    我目前正在用 Java 编写一个验证方法来检查字符串是否是要更改为日期的几种不同格式之一 我希望它接受的格式如下 MM DD YY M DD YY MM D YY 和 M D YY 我正在测试第一种格式 每次它都告诉我它无效 即使我输入了有
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • 膨胀类 android.support.design.widget.NavigationView 时出错

    我按照 NavigationView 的教程进行操作 但无法解决此错误消息 Error inflating class android support design widget NavigationView 教程链接 https www
  • 避免 @Secured 注释的重复值

    我正在尝试使用以下方法来保护我的服务方法 Secured如下 public interface IUserService Secured ROLE ROLE1 ROLE ROLE2 ResponseEntity saveUser Creat
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • Time.valueOf 方法返回错误值

    我使用 Time valueOf 方法将字符串 09 00 00 转换为 Time 对象 如下所示 Time valueOf LocalTime parse 09 00 00 当我调用 getTime 来显示我得到的值时 28800000
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • java.lang.UnsatisfiedLinkError - android studio gradle 中的 NDK?

    文件夹结构 app main java jni Android mk Application mk hello jni c res 在构建 gradle apply plugin com android application androi
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • 检查按钮是否可用?如果没有,请等待 5 秒钟,然后再次检查?

    基本上我想看看此刻是否可以单击按钮 如果没有我想再试一次 所以我需要某种 goto 函数来返回到代码的前一行 尽管我怀疑我写得非常糟糕 但它本来可以做得更容易 try driver findElement By xpath button i
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐

  • js预解析最强面试题 看看你会不会

    话不多说 直接上题目 f1 console log c console log b console log a function f1 var a b c 9 console log a console log b console log
  • XCode 命令行打包命令

    1 列出项目信息 xcodebuild list project
  • 第二十一课,几何着色器(使用篇-爆破效果)

    爆破效果 原理 将每一个片元沿三角形法向量方向移动一段距离 核心代码 避坑点 vert version 450 core layout location 0 in vec3 aPos layout location 1 in vec3 aN
  • 0501——0505 Vue学习

    总结一下草稿箱的网课记录 说4小时我还是看了不止4天 Vue Vue程序 导入开放版本的Vue js 创建Vue实例对象 设置el属性和data属性 使用简洁的模板语法把数据渲染到页面上 el挂载点 el是用来设置vue实例挂载 管理 的元
  • dubbo validation 参数验证 参数校验 @NotNull 自定义响应

    使用dubbo 框架 使用 validation 进行参数校验 首先创建类 import com fasterxml jackson annotation JsonProperty import lombok Getter import l
  • 你开发的软件不知道哪里跑飞闪退了?这个办法可以帮忙定位(查看dump)

    QT生成dump pdb文件 使用windbg打开分析查看堆栈 定位程序崩溃位置 你开发的软件不知道哪里跑飞闪退了 这个办法可以帮忙定位 https zhuanlan zhihu com p 102103083
  • 5.three.js灯光与阴影

    代码来源于哔哩哔哩老陈three js教学 1 灯光与阴影的关系与设置 import as THREE from three 导入轨道控制器 import OrbitControls from three examples jsm cont
  • chrome谷歌浏览器导入密码和导出密码的方法

    chrome谷歌浏览器导入密码和导出密码的方法 导出账号密码 导入账号密码 有时候大家遇到换了新电脑 或者公司需要调整电脑 或者说需要导入别人电脑上谷歌浏览器存的账号密码 发现可以导出密码 但是没有导入密码的选项 就很烦 这里教大家如何导出
  • 如何在数据验证单元格区域禁用粘贴

    为了确保数据准确性 在A列设置了数据验证 可以输入值的列表如下图所示 但是如果用户使用复制 粘贴 仍然可以输入其他值 如下图所示 使用如下事件可以实现禁止粘贴 Private Sub Worksheet Change ByVal Targe
  • TCP连接的三次握手四次挥手——类比异地恋情侣开始交往和分手(通俗易懂)

    首先 要详细解释的 先看下面两篇文章 这篇文章只是一个类比 可以辅助理解和记忆 计算机网络 TCP三次握手详解为什么两次不行 计算机网络 TCP四次挥手过程详解 三次握手 开始交往 男 写一封情书 我喜欢你 我们可以在一起吗 即使我们分隔两
  • python(11):python读取excel、csv文件

    1 python读取excel文件 要读取Excel表格的指定行和列范围 可以使用Python中的第三方库pandas pandas库提供了强大的数据分析和处理工具 包括读取和处理Excel文件的功能 以下是一个示例代码 演示了如何使用pa
  • 操作系统实验 - 题目二 进程调度算法的实现

    2 1 题目的主要研究内容及预期达到的目标 设计目的 理解进程调度相关理论 掌握时间片调度原理 掌握高优先级调度原理 课题描述 本课题主要针对操作系统中进程调度相关理论进行设计 要求编写程序并进行测试 该程序可以对多个进程进行调度 调度算法
  • 常用公差配合表图_机械设计公差与配合及其标注方法

    一 公差与配合的概念 一 零件的互换性 在成批生产进行机器装配时 要求一批相配合的零件只要按零件 图要求加工出来 不经任何选择或修配 任取一对装配起来 就能达到设计的工作性能要求 零件间的这种性质称为互换性 零件具有互换性 可给机器装配 修
  • linux性能命令详解

    1 查看进程相关信息 1 1 查看当前进程 查看当前进程的启动命令 PID为线程ID 1 ps ef grep 进程信息 获得进程PID 2 cd proc PID 3 ll proc PID 显示的文件夹 cwd符号链接的是进程运行目录
  • feign GET请求不支持对象传参的坑

    问题 GetMapping getByParam String hello Student student throws Exception 如上 feign调用报错500 解决方法 增加 SpringQueryMap GetMapping
  • xxx is not in the sudoers file.This incident will be reported错误

    一 问题解决 在执行sudo命令时会有如下提示 xx is not in the sudoers file This incident will be reported 原因分析 一般这种情况是创建了新用户 没有对应修改sudoers文件或
  • 【文件上传绕过】八、::$DATA上传绕过

    文章目录 一 利用Windows特性 二 源码 三 使用burpsuite抓包在文件后缀加 DATA绕过 一 利用Windows特性 在window的时候如果文件名 DATA 会把 DATA之后的数据当成文件流处理 不会检测后缀名 且保持
  • Myeclipse中Properties文件Unicode码或乱码解决方案

    打开myeclipse的 Window gt Perferences gt General gt Editors gt Context Types 或者 Window gt Perferences gt General gt Context
  • 6. 微积分 - 函数

    Hi 大家好 我是茶桁 经历了前面5节课的基础之后 不知道大家感觉怎么样 我后台接收到了一些反馈 有的同学说比较简单 有的同学说正合适 那有的同学呢 就觉得有些绕 一时之间可能没办法理解和接受 说明小伙伴们的水平呢 还是有一些参差不齐的 那
  • 兔子生兔子的Java解决方式

    最近在学python 其中有这样一道题 古典问题 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 没有做出来 先用笔在纸上算的时候也是稀里糊涂的 后来想办法