import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            float sum = 0;
            for(float i = 1; i <= n; i++){
                sum = sum + (1 / i);
            }
            System.out.printf("%.9f",sum);
        }
    }
}

根据java除法操作规则,当有一个为float类型则进行浮点型除法,此时1/2.0f = 0.5,若都为int类型,则1/2 = 0 ,除后再进行int—>float类型转换仍旧为0.0000,所以在除法中应保证一个数为浮点型才能得到小数点后数字

for(int i = 1; i <= n; i++){

                sum = sum + ((float)1.0000 / i);

            }

或者

for(int i = 1; i <= n; i++){

                sum = sum + (1 / (float)i);

            }都可以