Ajuda programa simples

4 respostas
bruwww

Sendo H=1+1/2+1/3+1/4+...+1/N, fazer um programa para solicitar N e gerar o número H.

galera, to com um probleminha na lógica desse programa, alguém dá um help, do jeito que eu fiz n to conseguindo
o keyboard.readInt() é um método antigo que usava pra ler o que é digitado no teclado.
Grata.

float soma=0;
		float n=1;
		float qtd=1;
		System.out.println("N= ");
		n=Keyboard.readInt();

		while(qtd<=n){
			soma=soma+(1/n);
			n++;
			System.out.println("O valor da soma é: "+soma );
			break;

		}

4 Respostas

Andre_Rosa

Você não especificou sua dúvida. É com relação a entrada de dados? Se for, use a classe Scanner da java.util. Por exemplo:

Scanner MeuObjeto = new Scanner (System.in); System("Entre com algum numero: "); int MeuNumero = MeuObjeto.nextInt();

isto, é claro, não se esquecendo de importar a classe:

import java.util.Scanner;
bruwww

a dúvida é com relação ao exercicio citado, não to conseguindo fazer a lógica acompanhar o que o programa pede

Ivan_Alves

Na minha lógica é mais ou menos assim

float soma=0;  
        float n=1; //defina o n 
        float qtd=1;  
        System.out.println("N= ");  
        n=Keyboard.readInt();  
  
        while(qtd<=n){  
            soma=soma/(qtd+1); //alterado aqui
            qtd++; 
            break;  
  
        }

        System.out.println("O valor da soma é: "+soma );   //mostra o resultado no final

testa ai.

Ops foi mal é esse aqui

float soma=2;
float n=1; //defina o n
float qtd=2;
System.out.println("N= ");
n=5;

while(qtd<=n){
    soma=soma/(qtd+1); //alterado aqui
    qtd++;
    break;

}
if(n < 1){
    soma = 0;
}
System.out.println("O valor da soma é: "+soma );   //mostra o resultado no final
tucano

como a somatoria é limitada por uma entrada…
… o for tem boa funcionalidade nesse laço

acredito que o que estava “estragando” com a logica antes era o uso do break, pois o laço era efetuado apenas uma vez, certo?

// definição da entrada com intuito de teste...
        Integer quantidade = 2;  

        // inicialização
        float soma = 0;  
 
        for(int i = 1; i <= quantidade; i++){  
            soma=soma+(1/i);  
        } 
 
        System.out.println("O valor da soma é: " + soma );

dá uma analisada nesse código, qualquer dúvida solta o grito guria!
:wink:

até mais!

Criado 17 de junho de 2011
Ultima resposta 17 de jun. de 2011
Respostas 4
Participantes 4