r根本不用

10*r+n%10

实际上,这是一件很棘手的事情,而且很酷。

这是一个很好的例子,说明变量命名不当会使代码难以理解。我们有3行代码可以实际执行某些操作,但它的工作原理并不明显。

private static int NOTHING_REVERSED_SO_FAR = 0;

private static int reverse(int numberToBeReversed, int reversalSoFar) {

if (numberToBeReversed == 0) return reversalSoFar;

return reverse(numberToBeReversed/10, 10*reversalSoFar + numberToBeReversed%10);

}

public static int reverse(int numberToBeReversed) {

return reverse(numberToBeReversed, NOTHING_REVERSED_SO_FAR);

}

所以我们首先调用public方法。假设我们通过123作为数字的倒数。这将调用未经更改传递123的私有版本,并将reversalSoFar初始化为0。

所以马上,你就可以看到,如果numberToberVersed是0,我们就返回到目前为止计算出的值。我建议您编写一个junit测试来挑战他的断言。

所以当我们递归的时候,我们到底在做什么?首先,我们并不是真的把数字除以10。我们在做分区,通过

递归地。未更改反向的数字。

分割结果为123->123/10->12。(由于是int数据类型,分数丢失了。)好的,我们将传递一个12作为第一个参数。第二个论点呢。我们知道我们通过了0的逆转。所以我们有10*(0)+(123)%10。123在这里是正确的,因为我们没有改变数字。结果是3。所以我们将再次递归,通过12和3。

现在,进行下一次迭代。

0. 123 0

1. 12 3

2. ?? ?

java数位倒置递归_有人能解释一下这个递归代码如何在java中反转int吗?相关推荐

  1. java怎么计算等式_谁能解释计算这个等式的步骤? Java的

    在解决此类问题时,您可以尝试观察"趋势"或"模式". 鉴于:100/1 99/2 98/3 97/4 96/5 - 3/98 2/99 1/100 我们得出:分 ...

  2. java请求接口示例_用示例解释Java接口

    java请求接口示例 介面 (Interfaces) Interface in Java is a bit like the Class, but with a significant differe ...

  3. java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析

    0. 前言 大家好,我是多选参数的程序员,一个正再 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般) ...

  4. java怎么编程方程_[编程入门]自定义函数求一元二次方程-题解(Java代码)

    令一元二次方程判别式: b2 - 4ac为变量P **当P > 0时:** x1 = (-b+sqrt(P)) / 2a x1 = (-b-sqrt(P)) / 2a **当P = 0时:** ...

  5. java 等待几秒_问懵逼:请站在 JVM 角度谈谈 Java 的锁?

    存在的问题 自旋锁 自适应自旋 Java 对象的内存布局(重要) synchronized 锁升级流程 偏向锁 轻量级锁 重量级锁 可重入 悲观锁(互斥锁.排他锁) <Java 2019 超神之 ...

  6. java编写三角形问题_软件测试实验1:为三角形问题编写一个Java程序,并用Junit测试程序...

    实验报告 实验内容: 1.Install Junit(4.12), Hamcrest(1.3) with Eclipse 2.Install Eclemma with Eclipse 3.Write ...

  7. 浅层学习与深层学习_深层副本与浅层副本-以及如何在Swift中使用它们

    浅层学习与深层学习 by Payal Gupta 通过Payal Gupta 深层副本与浅层副本-以及如何在Swift中使用它们 (Deep copy vs. shallow copy - and h ...

  8. java实验文法报告_西安邮电大学编译原理LL文法分析器实验(java).doc

    西安邮电大学编译原理LL文法分析器实验(java) <编译原理>实验报告 题目: 语法分析器的制作 学生姓名: 班 级: 软件1202 学 号: 指导教师: 成 绩: 西安邮电大学计算机学 ...

  9. Python后端转JAVA最快多久_【动力节点】老杜支招:Java小白学习入门攻略,涵盖学习路线...

    动力节点在B站的直播相当好,相当受欢迎,教学总监亲自解惑.零基础学Java的同学确实把思路打开不少. 回顾:11月14日晚8:00,杜老师在动力节点B站大咖直播间,首次开播与粉丝面基,本场直播不吹,不 ...

最新文章

  1. Exchange 2003 在多域环境中的部署
  2. HtmlUnit爬取页面列表链接
  3. SpringMVC拦截器之介绍和搭建环境
  4. 如何删除git config中的某一个配置项
  5. 大型分布式C++框架《三:序列化与反序列化》
  6. Unity3D引擎工作笔记0002---Unity3D 5下载安装
  7. 如何确定电脑主板坏了_原阳县地暖漏水如何检测
  8. 基于速度学习机的局部感受野
  9. php内置函数什么语言,语言构造和PHP中的“内置”函数有什么区别?
  10. word批量替换交叉引用格式
  11. 应用COMSOL Multiphysics分析水平井压裂裂缝应力干扰现象
  12. 全球与中国SS-OCT激光市场深度研究分析报告
  13. 讲真,别再用文氏图(Venn diagram)解释 SQL 连接查询了!
  14. 滚动轴承特征频率计算推导过程
  15. 计算语言学之语法理论
  16. 基于Java+SpringBoot+vue实现图书借阅和销售商城一体化系统
  17. iOS 高仿美图定制
  18. 如何将mkv视频格式转换mp4格式?
  19. TT生态圈——跨境深度精选
  20. 政府网站公文中的错别字在线检查工具

热门文章

  1. 阿里开始招聘.NET,要求WPF!
  2. 平台or职位,你怎么选?
  3. 多亏我缓存技术过硬!疫情防控项目上线,我只用了5天!
  4. WTM系列视频教程:View和Taghelper
  5. .Net Core中IOC容器的使用
  6. [功能发布]Excel催化剂2周年巨献-网页数据采集功能发布,满足90%合理场景使用...
  7. 使用RabbitMQ实现接口补偿
  8. .NET Core IdentityServer4实战 第Ⅳ章-集成密码登陆模式
  9. 微软推出新语言Bosque,超越结构化程序设计
  10. 撒花!中文翻译仓库链接已加入 ML.NET 官方示例网站首页