• 第一个数字


    /*
    标题:第一个数字
    内容:

    以下的静态方法实现了:把串s中第一个出现的数字的值返回。
    如果找不到数字,返回-1

    例如:
    s = "abc24us43" 则返回2
    s = "82445adb5" 则返回8
    s = "ab" 则返回-1

    public static int getFirstNum(String s)
    {
    if(s==null || s.length()==0) return -1;

    char c = s.charAt(0);
    if(c>='0' && c<='9') return _____________; //填空

    return ___________________; //填空
    }

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

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

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

    */

     1 class pro05 {
     2     public static void main (String[] args){
     3         System.out.println(fff.getFirstNum("abc24us43"));
     4         System.out.println(fff.getFirstNum("82445adb5"));
     5         System.out.println(fff.getFirstNum("ab"));
     6 
     7     }
     8     
     9     public static int getFirstNum(String s)
    10     {
    11         if(s==null || s.length()==0) return -1;
    12         
    13         char c = s.charAt(0);
    14         if(c>='0' && c<='9') return c-'0';  //填空
    15         
    16         return getFirstNum(s.substring(1));  //填空
    17     }
    18 }

    /*

    又是一道递归题,不过这个题目个人感觉比上一道题目简单一点点,
    其中要注意的是“c-'0'”这一句,"c"是一个char类型,而返回值为int,
    java中,char和int在一定范围类是可以互相转化的,
    这里“c-'0'”,“c-48”,应该都可以,48是‘0’的asc码值,
    */

    /*
    刚才再看这道题,递归方法可以调用很多层,但是只有一层有返回值,它返回的值会返回给最上层的方法,没想通为什么会这样,但这道题里面,“abc24us43”前三次都是没有返回值的,到了第四层的时候才返回“2”,但是这个“2”最后会被打印出来,它不是在自己的方法中打印出来的,而是在main方法中被打印的,说明这个“2”被最上层的getFirstNum(s.substring(1))方法得到了,

    */

  • 相关阅读:
    windchill系统安装大概步骤
    Javase、Javaee、Javame的区别
    Cocoa Touch事件处理流程--响应者链
    iOS KVC & KVO
    GET异步 请求图片步骤
    iOS7——图像资源Images Assets
    IOS编程教程(八):在你的应用程序添加启动画面
    Objective C内存管理之理解autorelease------面试题
    runtime 运行时机制 完全解读
    图片的异步下载
  • 原文地址:https://www.cnblogs.com/wsxjbky/p/3056082.html
Copyright © 2020-2023  润新知