Java 正在从字符串获取总计数

Java 正在从字符串获取总计数,java,arrays,Java,Arrays,我有一张“经济型1号床,452型,lcd 4号大床,11号大床”。 从上面的字符串中,我要求得到1+4=5这样的计数。 如果给定字符串中的数字大于10,则忽略要添加的数字(因此忽略452和11)。 有人能为这个写逻辑吗 String a="Economy Double , 1 queen bed 42 lcd"; int sum = 0; String num = ""; for(int i = 0; i < a.length(); i++) { if(Character.isDi

我有一张“经济型1号床,452型,lcd 4号大床,11号大床”。 从上面的字符串中,我要求得到1+4=5这样的计数。 如果给定字符串中的数字大于10,则忽略要添加的数字(因此忽略452和11)。 有人能为这个写逻辑吗

String a="Economy Double , 1 queen bed 42 lcd";
int sum = 0;
String num = "";
for(int i = 0; i < a.length(); i++) {
    if(Character.isDigit(a.charAt(i))) {
        num = num + a.charAt(i);
    } else {
        if(!num.equals("")) {
            sum = sum + Integer.parseInt(num);
            num = "";
        }
    }
}
System.out.println(sum);
String a=“经济型双人床,1张大号双人床42 lcd”;
整数和=0;
字符串num=“”;
对于(int i=0;i< /代码> 假设您只需要考虑数字< 10,则应该这样做(快速、肮脏和缓慢):

String a=“1张经济型1号床,452型,lcd 4号大床,11号大床2”;
整数和=0;
对于(int i=0;i=0&&i+1=a.length()&&!Character.isDigit(a.charAt(i-1)),则为else{
sum+=字符.getNumericValue(currChar);
}else如果(i==0&&!Character.isDigit(a.charAt(i+1))){
sum+=字符.getNumericValue(currChar);
}
} 
}
系统输出打印项数(总和);

您的大多数代码都是正确的。只需在此行中添加条件:

sum = sum + Integer.parseInt(num);
并将其更改为:

sum += (Integer.parseInt(num)<10 ? Integer.parseInt(num) : 0);

sum+=(整数.parseInt(num)分享你尝试过的东西我们不会为你做这件事,但我们绝对可以帮助你-你认为如何解决这个问题?这个网站不是一个代码编写服务。试着自己解决问题,当你有具体问题时再回来。回答你的问题:是的,我绝对可以。如果你想要实际的帮助,你应该展示一些e不过,还是先请注意。String a=“经济型双人床,1号双人床42 lcd”;int sum=0;String num=“”;for(int i=0;i 10。
sum += (Integer.parseInt(num)<10 ? Integer.parseInt(num) : 0);