Pessoal ajudem me a resolver este exercicio

10 respostas
P

Exerccio 3.2
Escreva um programa que leia uma lista de numeros reais, terminada por um valor nulo,
e calcule o seu produto. Exemplo de utilizacao:
Introduza uma lista de numeros (terminada com 0):
3 2.0 1.0 2 0
Produto = 12.000
Introduza uma lista vazia. Que produto da? Matematicamente, faz sentido que o produto
de uma lista vazia seja 1, tal como faz sentido que a soma de uma lista vazia seja 0.
(Chama-se valor sentinela a um valor especial que se usa num programa para indicar o
fim de uma serie de valores. Geralmente nao deve ser processado como os restantes valores
e por isso escolhe-se tipicamente um valor invalido, ilegal, ou pouco util para a aplicacao
em questao.).

eu fiz isto mas nao sei acabar

import java.util.Scanner;

public class Ex3o2 {

public static void main(String []args) {

Scanner sc=new Scanner(<a href="http://System.in">System.in</a>);

double n,produto=0;

do{

System.out.print(Introduza uma lista de n umeros (terminada com 0):);

n=sc.nextDouble();

}while(n!=0);

System.out.printf(produto é: %f,produto);

}

}

10 Respostas

montero

Ola Nobre, deixe-me ver se entendi.Você quer ler entradas de numeros double e no final obter o produto deles(a mutiplicação) e quando o usuário informar “0” o programa deve encerrar?

P

O que temos de fazer é introduzir numeros double e quando se introduz zero para de introduzir e calcula a multiplicação deles todos execepto do zero pq se nao dava sempre zero

montero

Estou sem o java em mãos no momento mas tente da seguinte forma:

do{

BufferedReader in = new BufferedReader(new InputStreamReader(<a href="http://System.in">System.in</a>));

System.out.print(Introduza uma lista de n umeros (terminada com 0):);

n = Double.parseDouble(in.readLine());

if(n != 0) produto *= n;

}while(n!=0);

System.out.printf(produto é: %f,produto);
P

não percebo para que serve o BufferedReader in pq nunca trabalhei com ele nem o n=Double… mas acho q foi como fiz em cima(n=sc.nextDouble(); ) mas o produto continua a dar me zero :frowning: eu até pus a terminar em 1 e vez de zero mas continua a dar zero o produto. não percebo

montero

Bem como mencionei, estou sem acesso ao java agora. porem a noite após a faculdade se for possivel resolvo essa para você.

uma ultima tentativa:

no if ponha n>0

e na saida

System.out.printf("produto é: " + produto);

e use o modo debug para ver se vem o valor digitado no na variavel n

P

continua a dar zero :frowning: Ok muito obrigado :+1:

montero

cara, na verdade é bastante simples o erro. o problema é que a variavel “produto” está iniciando com valor ZERO. e todos os numeros mutiplicados por ele é ZERO. da para resolver somente colocando ela pra iniciar com 1 ou fazer uma logica para o produto SEMPRE receber o primeiro valor digitado.

montero

problema resolvido:

import java.util.Scanner;

public class Ex3o2 {

public static void main(String[] args) {

Scanner sc=new Scanner(<a href="http://System.in">System.in</a>);

double n,produto=0;

do{

System.out.print(Introduza uma lista de n umeros (terminada com 0):);

n=sc.nextDouble();

if(n != 0) {

if(produto == 0) produto = 1;

produto *= n;

}

}while(n!=0);

System.out.printf(produto é: %f,produto);
}

}

P

Ei muito obrigado. A sério!!! tenho outro exercício se não for muito incómodo. é do mesmo género mas neste não sei como ver o valor máximo e o minimo… É este:
Exerccio 3.3
Escreva um programa que leia uma lista de numeros reais, terminada por um valor igual
ao primeiro que foi introduzido. No fimm, indique o valor maximo, o valor minimo, a media
e o numero de elementos da lista, nao contando com o valor sentinela.
(Note que neste caso e impossvel introduzir uma lista vazia, o que e conveniente porque
nao faz muito sentido achar o maximo ou o minimo de um conjunto vazio.)
E mais uma vez obrigado XD

montero

Não tenho muito tempo para te ajudar porem, vai mostrando ai como conseguisse fazer(para ao menos tentar fazer) que na medida do possível vou te ajudando.

Criado 29 de fevereiro de 2016
Ultima resposta 1 de mar. de 2016
Respostas 10
Participantes 2