Fundição automática

Tenho que escrever um programa que receba um númeron do usuário e calcula a soma: s = 1/1 + 1/2 + ... + 1 / n.

Eu escrevi este código:

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner unos = new Scanner(System.in);
        System.out.println("n=?");
        int n = unos.nextInt();

        double s = 0.0;
        for (int i = 1; i <= n; i++) {
            s = s + (1.0 / i);
        }
        System.out.println("s=" + s);
    }
}

Como o Java decide converter o valor inti em dobro nesta declaração:

s = s + (1.0 / i);

questionAnswers(6)

yourAnswerToTheQuestion