-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 に答える