2017-05-07 5 views
0

私は繰り返し単語の確率を計算するために非常に単純な関数を作成していますが、確率配列が初期化されていないことがわかりましたか?確率は、常に、例えば0 によって:確率は常に0を出力しますか?

String original = "abcabd"; 
String n = "abcd"; 
int count = 0; 
float Probabilty[] = new float[n.length()]; 

for(int i = 0 ; i < n.length() ; i++){ 
    for(int j =0 ; j < original.length() ; j++){ 
     if (n.charAt(i)== original.charAt(j)){ 
      count = count +1; 
     } 
    } 
    Probabilty[i] = count/original.length(); 
    System.out.println(Probabilty[i]); 
    count = 0; 
} 
+1

アレイに問題はありません。デバッガを使用します。 [mcve]を作る –

答えて

1

これは線に関係している:

Probabilty[i] = count/original.length(); 

両方countoriginal.length()ので、2つの用途の整数除算を分割し、整数です。あなたがfloatまたはdoubleに1を変換するなら、あなたはそうのように、適切な部門を取得します:

Probabilty[i] = ((float)count)/original.length(); 

は、同様の質問に対してHow can I convert integer into float in Java?を参照してください。

関連する問題