substring

public class Question9 {

    /**
     * 8、第一个数字 以下的静态方法实现了:把串s中第一个出现的数字的值返回。 如果找不到数字,返回-1 例如: s = "abc24us43"
     * 则返回2 s = "82445adb5" 则返回8 s = "ab" 则返回-1 请分析代码逻辑,并推测划线处的代码。 答案写在 “解答.txt”
     * 文件中 注意:只写划线处应该填的内容,划线前后的内容不要抄写
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s1 = "abc24us43";
        String s2 = "82445jdsnd";
        String s3 = "ab";
        System.out.println(getFirstNum(s1));
        System.out.println(getFirstNum(s2));
        System.out.println(getFirstNum(s3));

    }

    private static int getFirstNum(String s) {
        if (s == null || s.length() == 0)
            return -1;
        char c = s.charAt(0);
        if (c >= '0' && c <= '9') {
            return s.charAt(0) - '0';

        }
        /*
         * substring(参数)是java中截取字符串的一个方法有两种传参方式一种是public String substring(int
         * beginIndex
         * )返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。另一种是public String
         * 搜索substring(int beginIndex, int
         * endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引
         * endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。 详情请参考API
         * java.lang.Strin
         */
        return getFirstNum(s.substring(1));//递归调用
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值