Duvida basica sobre calcular o valor de uma expressão

Opa galera, primeiramente queria parabenizar o fórum, to começando no universo Java e ja li muita coisa por aqui!

Estou meio perdido numa lógica aqui…

Tenho o seguinte exercicio para resolver:

Desenvolva um programa em JAVA que calcule o valor de S para um determinado valor de N
informado pelo usuário a partir da seguinte expressão:
S = ½ + 2/3 + ¾ + … + n/n+1

Beleza, tava pensando em como fazer e cheguei no seguinte codigo :

[code]import java.util.*;
import javax.swing.JOptionPane;

public class Exercicio1 {
public static void main(String[] args) {
String NumN;
double n = 0, y = 0;
double s = 0;
NumN = JOptionPane.showInputDialog(“Digite um numero para saber o resultado da expressao”,“Numero”);
n = Double.parseDouble(NumN);
do { s = y/(y+1);
++y;}
while (y < n);
System.out.println(s);
}[/code]

O problema do meu código é: Ele só ta mostrando o valor do ultimo valor da expressao, no caso, o valor de n/n+1 !
Se eu jogo o System.out.println(s) dentro do laço “do” (ou for), ele vai mostrando todos os valores ate chegar no n/n+1, mas como fazer para calcular esses valores?

Ja tentei usar o for e o if/else, usando a mesma logica, e chego no mesmo problema, só mostra o ultimo numero…

Alguem pode me dar uma luz?

Muito obrigado!!

.

S = ½ + 2/3 + ¾ + … + n/n+1

eu tb sou novo então n me leve a serio… hsahashuas

mas eu faria isso:

 int z = 0; 
 x = 1; 
 y =2; 
 while(z <= n){ 
 int total = x/y; 
int total2 += total;
 z++; y++; x++; 

 }
IO.println("Total = " + total2);

Amigo, MUITO obrigado!

O problema é que eu nao conhecia essa operação de atribuição “+=”
show de bola, resolvido!

pode ser assim tbm:

public static double funcao(int n) {
	double total = 0;
	for (int i = 1; i <= n; i++) {
		// lembre-se que divisao de inteiros retorna um inteiro truncado
		total += i / (i + 1.0);
		// mesma coisa que: total = total + (n / (n+1));
	}
	return total;
}

[]’ s