2016-03-06 81 views
0
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"); 
     } 
    } 
} 

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

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

+0

首先,阅读你的代码。你的'数组'包含什么类型的数据? –

+0

你的数组有什么样的价值? –

+0

我假设这是作业。你有没有学习任何方法将字符串中的数字转换为数字?你认为这样的方法可以应用在这个练习中吗?怎么样? – RealSkeptic

回答

-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,以确保,但你可以取代它utiliy方法与int,逻辑保持不变

+0

大部分输入不会通过此代码。他编辑了他的输入。一探究竟。 –

+0

@NikolasCharalambidis他的投入如何通过代码? –

+0

@NikolasCharalambidis我找不到任何编辑,你没有回答这个问题... –

0

您已经自己回答了部分问题(如何对数组进行求和)。你真正的问题非常简单,只需要三个字就能从google获得答案。我会帮你:PARSE INTEGER STRING。如果你点击第一个结果,阅读第一个答案(它有2166票),你将节省stackowerflow的硬盘空间,以及我用来写这个答案的时间。