【发布时间】:2013-12-16 12:43:50
【问题描述】:
我试图在 Java 的 codingBat 中解决以下问题: http://codingbat.com/prob/p121193
给定一个字符串,返回字符串中出现的数字的总和,忽略所有其他字符。数字是一系列连续的 1 个或多个数字字符。 (注意:Character.isDigit(char) 测试 char 是否是字符 '0'、'1'、.. '9' 之一。Integer.parseInt(string) 将字符串转换为 int。) sumNumbers("abc123xyz") → 123 sumNumbers("aa11b33") → 44 sumNumbers("7 11") → 18
以下是我的解决方案
public int sumNumbers(String str) {
final int len=str.length();
int[] numbers=new int[len];
int count=0;
String temp="";
int sum=0;
for(int i=0;i<len;i++)
{
if(Character.isDigit(str.charAt(i)))
{
temp=temp+str.substring(i, i+1);
if(i==len-1)
{
numbers[count]=Integer.parseInt(temp);
break;
}
if(Character.isDigit(str.charAt(i+1)))
{
continue;
}
else
{
numbers[count]=Integer.parseInt(temp);
count++;
temp="";
}
}
}
for(int j=0;j<numbers.length;j++)
{
sum=sum+numbers[j];
}
return sum;
}
这是一个简单的问题,请使用正则表达式或其他任何方式提供任何替代的有效答案,请不要使用集合框架中的任何内容。
【问题讨论】:
-
好的!!感谢您专注于代码审查部分而不是阅读实际问题......亲爱的先生,我的意思是如果有任何代码爱好者想要审查代码......那么他们可以提供挑剔!
-
您的问题不属于本站!
-
提供一个很好的理由,那么为什么堆栈溢出有 [code-review] 标签??
-
在 [code-review] 标签的标签描述中,您可以通过将鼠标悬停在标签上或点击标签 wiki 来阅读该标签,它显示“代码审查偏离主题在 Stack Overflow,请使用 codereview.stackexchange.com 请求对其他工作代码进行代码审查。”我知道,StackOverflow.com 没有向您显示此消息作为错误消息是愚蠢的,我们在 4 年前就要求提供此功能,但 Jeff Atwood 拒绝了我们此功能。我认为是时候重新审视这个决定了。
-
好的我已经编辑了问题并删除了标签,请提供并回答!