-1

我正在尝试找到一种方法来计算和显示字符串的总数,但我不知道该怎么做。这是示例:

65.0-43.0+21.0= 43.0
 65 -43 +21 = 43 
 65.0 -43.0 +21.0 = 43.0 
 65 - 43 + 21 = 43 
 65.00 - 43.0 + 21.000 = +0043.0000 

输出需要给我:

Digit: 20 0

*这是我在这个例子中的零总数。不仅仅是小数点后的零。如果有人能指出我正确的方向,那将不胜感激。谢谢!

4

2 回答 2

4

这是一些伪代码来做你想做的事:

zeroCount = 0
state = notAfterPoint

for each character c
  if c == '.'
    state = afterPoint
  else if c is not a digit
    state = notAfterPoint
  else if state == afterPoint and c == '0'
    zeroCount++

print zeroCount

我将把它转换成 Java 代码留给你。

于 2013-09-04T16:06:31.950 回答
0

要计算字符串中的数字:

int digitCount = str.replaceAll("\\D+", "").length();

要在小数点后计算字符串中的 0:

int zeroCount = str.replaceAll("^[^.]*\\.", "").replaceAll("[^0]+", "").length();

或在小数点后的字符串中的单个调用计数 0:

int zeroCount = str.replaceAll("(?>^[^.]*\\.|[^0]+)", "").length()

编辑:计算所有 0

int zeroCount = str.replaceAll("[^0]+", "").length();
于 2013-09-04T16:01:47.623 回答