Duvida basica sobre calcular o valor de uma expressão

4 respostas
B

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 :

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);
	}

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!!

4 Respostas

D

.

D

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);
B

Amigo, MUITO obrigado!

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

JM4X

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

Criado 15 de agosto de 2011
Ultima resposta 15 de ago. de 2011
Respostas 4
Participantes 3