概率数学总是输出零?

Probability math always output zero?

所以我创建了一个非常简单的函数来计算重复单词的概率,但我发现概率数组没有被初始化??概率总是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;
}

与以下行有关:

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

countoriginal.length()都是整数,所以两者相除使用整数除法。如果您将 1 转换为 float 或 double,那么您将得到正确的除法,如下所示:

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

有关类似问题,请参阅 How can I convert integer into float in Java?