public static void main(String args[]) {
int op = 1;
Scanner leia = new Scanner(System.in);
System.out.print("Digite um valor inteiro para serie (n): ");
int divisor = leia.nextInt();
for (int i = 2; i <= divisor; i++) {
if (i % 2 == 0) {
int h = op - (1 / i);
} else {
int h = op + (1 / i);
}
}
System.out.println("O valor da expressão (h) é: " + h);
}
Dúvida com lógica e valor de variável
Boa tarde.
Eu estou tentando fazer um programa que imprime o valor da seguinte serie:
serie=1-1/2+1/3-1/4+...+1/n
Eu fiz o código:
Minhas dúvidas:
1-A lógica está correta?
2-Não estou conseguindo imprimir h e seu eu declaro h com um valor, por exemplo, zero da mesma forma que eu fiz a variável op ele imprime zero ao invés de mostrar o valor que aconteceu dentro do for e do if. Como eu devo concertar isso?
4 Respostas
Dessa forma voce consegue imprimir o h para que você entenda melhor dá uma lida sobre escopo de variáveis.
Flw.
public static void main(String args[]) {
int op = 1;
Scanner leia = new Scanner(System.in);
System.out.print("Digite um valor inteiro para serie (n): ");
int divisor = leia.nextInt();
for (int i = 2; i <= divisor; i++) {
if (i % 2 == 0) {
int h = op - (1 / i);
System.out.println("O valor da expressão (h) é: " + h);
} else {
int h = op + (1 / i);
System.out.println("O valor da expressão (h) é: " + h);
}
}
}
S
Mt vc nao consegue imprimir o h, pq ele existe apenas dentro do for, declare ele fora do loop que vai funcionar.
E
Mais uma coisinha. Para fazer contas, use double, não int - no seu caso, você vai descobrir que 1 / 10 = 0, não 0.1 
Dessa forma voce consegue imprimir o h para que você entenda melhor dá uma lida sobre escopo de variáveis.Dessa forma da certo sim mais o que eu queria fazer era imprimir todo o valor do h então se o usuário digitar 5 eu vou ter 1-1/2+1/3-1/4+1/5=0,75 aproximadamente já que uma das divisões deu dizima períodica. Desse jeito que você fez vai mostrar vários resultados e eu só posso mostrar um e é ai que está o problema. Obs: já fiz a correção para doubleFlw.public static void main(String args[]) { int op = 1; Scanner leia = new Scanner(System.in); System.out.print("Digite um valor inteiro para serie (n): "); int divisor = leia.nextInt(); for (int i = 2; i <= divisor; i++) { if (i % 2 == 0) { int h = op - (1 / i); System.out.println("O valor da expressão (h) é: " + h); } else { int h = op + (1 / i); System.out.println("O valor da expressão (h) é: " + h); } } }
Criado 27 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 4
Participantes 4
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo