java 提出字符串中的数字并相加

输入一行字符串(少于80个字符),求其中数字的和。输入数据包含一行字符串,中间存在多于两个数字。在一行上输出字符串中数字的和,输出完后,不要回车换行。... 输入一行字符串(少于80个字符),求其中数字的和。

输入数据包含一行字符串,中间存在多于两个数字。

在一行上输出字符串中数字的和,输出完后,不要回车换行。
展开
 我来答
tina_77f
推荐于2017-09-23 · TA获得超过107个赞
知道答主
回答量:18
采纳率:0%
帮助的人:24.9万
展开全部
import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
int result = 0;
for (int i = 0; i < line.length(); i++) {
if (Character.isDigit(line.charAt(i))) {
result = result + Integer.parseInt(line.charAt(i) + "");
}
}
System.out.print(result);
}
}

例:输入:123
输出:6
兼容字符串中存在字母的情况:
输入:12ab3
输出:6
iehanbin
2011-09-20 · 超过10用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:27.3万
展开全部
import java.util.Scanner;

public class NumberTest {

public static void main(String[] args) {
System.out.println("输入一个字符串:");
Scanner scanner = new Scanner(System.in);
StringBuffer sb = new StringBuffer();
String line = scanner.nextLine();
char a[] = line.toCharArray();
System.out.println("打印出其中所有的数字:");
int result = 0;
for (int i = 0; i < a.length; i++) {
if (Character.isDigit(a[i])) {
sb.append(a[i]);
result = result + Integer.parseInt(String.valueOf(a[i]));
}
}
System.out.print(sb);
System.out.print("所有数字的和为:" + result);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ljyq25
2011-09-20
知道答主
回答量:49
采纳率:0%
帮助的人:25.3万
展开全部
String str = "ab1cd23231";
char c;
int ii = 0,iSum = 0;
for(int i=0;i<str.length();i++){
c = str.charAt(i);
ii = (int)c;
if(ii > 57 || ii < 49)continue;
iSum += Integer.parseInt(c+"");
}
System.out.print("Sum = " + iSum);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情系白城春9950
2011-09-20 · 超过17用户采纳过TA的回答
知道答主
回答量:187
采纳率:0%
帮助的人:82.6万
展开全部
比较每个字符的ASIIC码,在数字范围内就留下,不是跳过,最后相加就完了,很简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式