请问一下这道题,java的

wuzewu22 2012-12-08 08:28:13
以下的静态方法实现了:把串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 getFirstNum(______________); //填空
}
...全文
307 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qixinglengyue000 2012-12-09
  • 打赏
  • 举报
回复
第一空:c 第二空:s.substring(1)//递归法判断 普科学生
昕玫 2012-12-08
  • 打赏
  • 举报
回复
第一空: c-'0'或c c-'0':返回的是用ASCII码计算出的整型; c:返回字符型数字,会自动类型转换成int型。 第二空:s.substring(1) 已经判断了第一个字符,递归调用方法判断剩余字符串。
zk3389 2012-12-08
  • 打赏
  • 举报
回复
递归,思路明确自然不难
zhaoming262350 2012-12-08
  • 打赏
  • 举报
回复
import java.util.Scanner; public class StringTest { 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 c-'0'; return getFirstNum(s.substring(1)); } public static void main(String [] args) { Scanner input = new Scanner(System.in); String hex=input.nextLine(); System.out.println("The number is"+getFirstNum(hex)); } }
McClone 2012-12-08
  • 打赏
  • 举报
回复
Area 2012-12-08
  • 打赏
  • 举报
回复
1. c; 2. s.substring(1);(使用递归获取其子串,去除已经判断的字符)
傲雪kimi 2012-12-08
  • 打赏
  • 举报
回复
c-'0' s.substring(1)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧