import java.io.BufferedReader;
import java.io.InputStreamReader;
public class countnumbers {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("input string:");
String[] array = br.readLine().split("\\D+");
String newtext = "";
for(int i = 0; i < array.length; i ++){
//int sum = 0;
//for (int e : array) sum += e;
//System.out.println(sum);
// This part particulary works for Integer type arrays... i guess
}
System.out.println("result:");
System.out.print(newtext);
}
catch (Exception ex) {
System.out.println("input-output error");
}
}
}
您好。
我面临的问题是我必须计算并对数组中的数字求和,其中还包含文本和其他符号。任何人都可以提供一些提示如何做到这一点?上面给出了当前程序的样本。
答案 0 :(得分:0)
您已经自己回答了部分问题(如何对数组的整数求和)。你真正的问题很简单,只需要三个字就可以从谷歌那里得到答案。我会帮助你:PARSE INTEGER STRING。如果你点击第一个结果,读第一个答案(它有2166票),你将节省stackowerflow的硬盘空间以及我花在写这个答案的时间。
答案 1 :(得分:-1)
使用如下的方法
public boolean isNumeric(String str){
try{
Double.parseDouble(str);
return true;
} catch (Exception e) {
return false;
}
}
在您的主要代码中
double sum = 0;
for (int i = 0 ; i < array.length ; i++){
if (isNumeric(array[i])) sum+= Double.parseDouble(array[i]);
}
我使用double
确定但您可以将其替换为int
,逻辑保持不变