博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单推导
阅读量:4476 次
发布时间:2019-06-08

本文共 1062 字,大约阅读时间需要 3 分钟。

已完成:

    • 第一个数字:
    • 题目

      以下的静态方法实现了:把串s中第一个出现的数字的值返回。

      如果找不到数字,返回-1

      例如:

      s = "abc24us43" 则返回2

      s = "82445adb5" 则返回8

      s = "ab" 则返回-1

      以下的静态方法实现了:把串s中第一个出现的数字的值返回。

      请分析代码逻辑,并推测划线处的代码。

      答案写在“解答.txt”文件中

      注意:只写划线处应该填的内容,划线前后的内容不要抄写。

      分析

      题目使用了递归思想,递归出口是:字符串s为null或者长度为0;如果遇到数字就立即返回,如果遇到非数字字符,则求其子字符串的第一数字。

      1 import java.util.*; 2 public class Lanq { 3     public static int getFirstNum(String s) { 4         //递归出口 5         if (s == null || s.length() == 0) 6             return -1; 7         //取第一字符 8         char c = s.charAt(0); 9         //如果是数字,返回该数字10         if (c >= '0' && c <= '9')11             return s.charAt(0)-'0';12 13         return getFirstNum(s.substring(1));14     }15 16     public static void main(String[] args) {17         String s1 = "abc24us43";  //则返回218         String s2 = "82445adb5";  //则返回819         String s3 = "ab";   //则返回-120         System.out.println(getFirstNum(s1));21         System.out.println(getFirstNum(s2));22         System.out.println(getFirstNum(s3));23     }24 }

       

       
      结果

      2

      8

      -1

转载于:https://www.cnblogs.com/passion-sky/p/8535481.html

你可能感兴趣的文章
ImageSwitcher 右向左滑动的实现方式
查看>>
数学之美读书笔记一信息的度量和作用
查看>>
《荣枯鉴》示伪卷八
查看>>
NLP 第10章 基于深度学习的NLP 算法
查看>>
win7下出现'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决方法...
查看>>
Maven 依赖范围(转)
查看>>
Google Chrome中的高性能网络(转)
查看>>
[置顶] 数据结构之 二叉树的构造与遍历(先序,中序,后序,层次)
查看>>
Tomcat在处理GET和POST请求时产生的乱码问题
查看>>
XSS 攻击原理及防护
查看>>
操作符重载
查看>>
Docker 安装及问题处理
查看>>
JavaScript中的call 和apply的用途以及区别
查看>>
HashMap完全解读
查看>>
匿名内部类
查看>>
man命令重定向后有^H乱码问题
查看>>
自定义popupwindow(解决位置控制困惑)
查看>>
BZOJ4071: [APIO2015]八邻旁之桥
查看>>
Redis的六种特性 场景
查看>>
mysql 添加[取消]timestamp的自动更新
查看>>