如果我想得到800*怎么修改,求帮忙!谢谢了

String deal(String s1, String s2)
{
if(s1 != null)
{
if(contact(s1.charAt(s1.length() - 1)) == 1)
{
s1 += s2;
return s1;
}
else
{
s1 = s1.substring(0, s1.length() - 1);
deal(s1, s2);
}
}
return s1;
}

int contact(char ch)
{
if(Character.isDigit(ch) || ch == *(* || ch == *)* || ch == *.*)
return 1;
if(ch == *-* || ch == *+*)
return 2;
return 0;
}

String str = deal("800", "*");
这样就返回的是800*
如果String str = deal("800-", "*");
返回的是800,不是800*
是不是意思就是返回的是第一次的返回值? 

慕运维8079593
浏览 84回答 2
2回答

墨色风雨

public static String deal(String s1, String s2){if(s1 != null){if(contact(s1.charAt(s1.length() - 1)) == 1){ s1 += s2;return s1;}else{s1 = s1.substring(0, s1.length()-1 );String a = deal(s1, s2);if(a!=""||!a.equals("")){return a;}}}这样改就成了

开心每一天1111

使用eclipse来单步调试运行吧
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java