Java - Exercicio com o LaçoFor

Tenho o seguinte problema: Sendo soma = 1 + 1/2 + 1/3 + 1/n. Faça um programa que calcule o valor de soma com n termos.
Tentei resolver este problema com um laço for, mas a variável resultado dá 1, quando a divisão é entre 1 e 1, e dá 0 quando a divisão é feita entre 2 e 3, entre 3 e 5, e assim por diante. Não sei qual o problema na minha lógica.
Minha solução está abaixo:
package com.bruno.cursojava.aula17;
import java.util.Scanner;
public class Ex34 {

public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	System.out.println("Quantos termos haverá na sequência?");
	int termos = scan.nextInt();
	double soma = 0;
	double resultado;
	int cont = 1;
	for (int i = 1; i <= termos; i++) {
		resultado = i/cont;
		System.out.println(i + "divido por " + cont + " = " + resultado);
		soma += resultado;
		cont += 2;
	}
	System.out.println("Analisando a sequência com " + termos + " a soma de todos os elementos é igual a " + soma);
}

}

Divisão de inteiros gera inteiros. Isso significa que se o resultado for fracionário, a parte facionária é ‘descartada’. Logo, 1/1 = 1; 2/3 = 0,67; 3/5 = 0,6. Nesses dois últimos casos trará como resultado somente a parte inteira que, nesse caso é zero. Caso queira que o compilador admita os valores fracionários, tu deve usar um número de ponto flutuante de precisão simples (float) ou dupla (double).