如何计算Java中字符串数组的值

时间:2016-03-06 15:34:10

标签: java arrays string count

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");
        }
    }
}

您好。

我面临的问题是我必须计算并对数组中的数字求和,其中还包含文本和其他符号。任何人都可以提供一些提示如何做到这一点?上面给出了当前程序的样本。

2 个答案:

答案 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,逻辑保持不变