2017-05-07 62 views
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()是整数,所以将所述两种用途整数除法。如果转换一个float或double,那么你会得到适当的分工,就像这样:

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

了类似的问题,请参见How can I convert integer into float in Java?