Divisão sem arrendondamento

Olá, boa tarde. Possuo um código que realiza divisões sucessivas em uma variável em que o resultado é um número quebrado como 2.07 por exemplo. Contudo na hora de imprimir na tela ele sempre é arrendondado de modo que fique 2.0. Como faço para poder fazer com que seja exibido o número completo?

Segue aqui o trecho do código:

        @SuppressWarnings("resource")
	Scanner ent = new Scanner(System.in);
	
	System.out.println("Numeros de termos: ");
	int termos = ent.nextInt();
	
	int i = 1, j = 1;
	double acum = 0;
	
	for (i = 1; i <= termos;i++) {
		
		if ( (i % 2) != 0 ) {
			acum+=(4 / j);
		}  
		else {
			acum-=(4 / j);
		}
		j+=2;
		System.out.println("Termo " + i + " = " + acum);
		
	}

Por exemplo, o usuário entra com 3 e então os três primeiros termos são exibidos. O resultado correto seria exibir: 4, 3.1, 3.14, mas ele sempre só imprime 4.0, 3.0, 3.0…

Em Java, quando você faz uma divisão inteira, o resultado é um número inteiro. Teste a divisão com número flutuante, assim:

for (i = 1; i <= termos;i++) {
		
		if ( (i % 2) != 0 ) {
			acum+=(4.0f / j); // ao invés de 4 / j
		}  
		else {
			acum-=(4.0f / j); // ao invés de 4 / j
		}
		j+=2;
		System.out.println("Termo " + i + " = " + acum);
		
	}

Abraço.

1 curtida

Opa, muito obrigado, isso resolveu meu problema kkkk Agora posso finalizar minha lista. Abraço ^^