java 提出字符串中的数字并相加
输入一行字符串(少于80个字符),求其中数字的和。输入数据包含一行字符串,中间存在多于两个数字。在一行上输出字符串中数字的和,输出完后,不要回车换行。...
输入一行字符串(少于80个字符),求其中数字的和。
输入数据包含一行字符串,中间存在多于两个数字。
在一行上输出字符串中数字的和,输出完后,不要回车换行。 展开
输入数据包含一行字符串,中间存在多于两个数字。
在一行上输出字符串中数字的和,输出完后,不要回车换行。 展开
4个回答
展开全部
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
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
展开全部
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比较每个字符的ASIIC码,在数字范围内就留下,不是跳过,最后相加就完了,很简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询