public static void main(String[] args){
double s=0;
for(int i=1;i<=10;i++){
s+=1/i;
System.out.println(i+":"+s);
}
}

s+=1/i;
を
s+=1/(double)i;
にしたらうまくいったのですが(double)にどういう意味があるのでしょうか?
iはintであって、sはdoubleなのだからわざわざ入れる必要ないと思うのです