Me ajudem por favor

14 respostas
D

desenvolver um algoritmo que leia varios numeros inteiros positivos. Repetir a sequencia até que o numero 0 seja digitado. No final imprimir o total de números multiplos de 8 e a média de todos os numeros lidos. OBS: Utilizar a estrutura de repetição com teste no final (continua - enquanto for)

14 Respostas

F

campanha para mudar o nome do guj para “naoFazemosSuaTarefa.com” aberta.

S

EU ja vi mil vezes aqui no guj a dizerem que não se deve criar topicos com nomes não sugestivos, e este nome do teu topico não é nada sugestivo,

otaviojava

Se tiver alguma dúvida sobre realizar a sua tarefa, basta postar o código ou dizer aonde você parou.
Já que nosso objetivo é ajudar, trocar experiência e aprender com as pessoas que querem aprender java.

D

EU SÓ QUERIA SABER ONDE EU ERREI, NÃO PRECISAVAM SER TÃO MAL EDUCADOS, KI LUGAR É ESSE??????
XINGAMENTO REMOVIDO PELA MODERAÇÃO

import java.util.Scanner;
public class Multiplo8 {
	public static void main (String args[]){
	
	String resp;
	int n, soma, mult;
	float media;

	Scanner entrada = new Scanner (System.in);
	System.out.println ("Digite S para rodar o programa ou N para sair ");
	resp = entrada.nextLine ();	
	soma = 0;
	media = 0;
	mult = 0;


	If (resp.equals ("S")|| resp.equals ("s")){
		System.out.println ("Digite um numero: ");
		n = entrada.nextInt ();	
			soma = soma + 1;
			media = (media + n)/soma;
			
			while (n > 0){
				if (n % 8 == 0){
					mult = mult + 1;
					}
			System.out.println ("Deseja continuar? ");
			resp = entrada.nextLine ();	
			}

	}
	System.out.println ("O total de números multiplos de 8 sao: " + mult);
	System.out.println ("A média dos números lidos e: " + media);
	}
}
D

PEÇO DESCULPA PRA VC OTAVIO, PELO MENOS UM Q NÃO FOI MAL EDUCADO

otaviojava

dá uma olhada na linha 26 do seu código
no if você colocou com I maiúculo.
Outra coisa quando for postar código use as tags code
Ficará da seguinte forma.

if (resp.equals ("S")|| resp.equals ("s")){
System.out.println ("Digite um numero: ");
n = entrada.nextInt ();
soma = soma + 1;
media = (media + n)/soma;
D

muito obrigado Otavio, mas
agora ele travou na msg “deseja continuar?”

otaviojava

Faz o seguinte ao invés do nextLine tenta o next.
Outra coisa ao invés de se usar o equal s e S você pode usar o equalIgnoreCase que pega a String ignorando se ela é maiúscula ou minúscula.
Veja se desse modo é do jeito que você quer, qualquer outra dúvida ou qualquer erro basta falar.

import java.util.Scanner;
public class Multiplo8 {
public static void main (String args[]){

String resp;
int n, soma, mult;
float media;

Scanner entrada = new Scanner (System.in);
System.out.println ("Digite S para rodar o programa ou N para sair ");
resp = entrada.nextLine ();
soma = 0;
media = 0;
mult = 0;

while(resp.equalsIgnoreCase("s")){
if (resp.equalsIgnoreCase("s")){
System.out.println ("Digite um numero: ");
n = entrada.nextInt ();
soma = soma + 1;
media = (media + n)/soma;


if (n % 8 == 0){
mult = mult + 1;
}
System.out.println ("Deseja continuar? ");

resp = entrada.next();

}

}
System.out.println ("O total de números multiplos de 8 sao: " + mult);
System.out.println ("A média dos números lidos e: " + media);
}
}
otaviojava

O motivo que está travando foi esse código.
Ele ficará no loop enquanto n for maior que zero e você não faz nenhuma operação que altere o valor de n então, ele será um loop infinito.

while (n > 0){
if (n % 8 == 0){
mult = mult + 1;
}
D

valeu otavio, muito obrigado mesmo, eu perdi a noite inteira e não conseguia resolver esse problema

um abraço enorme

otaviojava

Perfeito,
Qualquer outra dúvida basta postar aqui no guj.
E modifica o seu título e coloca no título
“me ajudem por favor” [Resolvido]

ViniGodoy

Na verdade, com o Scanner no console, o único método que deve ser usado é o nextLine(). Não use nextInt(), nem nextDouble(), nem next().

O scanner trava pois os demais métodos lêem do console, sem ler o \n. Esse \n fica como lixo na memória do scanner e, numa próxima leitura, trava-se nele.
Usando o nextLine() você jamais terá esse problema.

Você vai notar que códigos com next sem a palavra “line” tornam-se muito instáveis. Muitas vezes a leitura não é confiável, ou trava.
Use esses métodos somente para lidar com arquivos.

ViniGodoy

Se você queria sabe onde errou, porque não postou o código que você fez já de cara? Você havia postado apenas o enunciado, e isso indicava que você queria o exercício resolvido.
Desculpe a má educação do colega, é que por dia temos recebido uns 2 ou 3 pedidos de lição de casa. E é consenso do fórum de que não resolvemos esses exercícios, por dois motivos:

  1. Vai atrapalhar o aprendizado de quem pede;
  2. Vai entupir o fórum de gente pedindo, reduzindo a qualidade do fórum.
Então, da próxima vez que for abrir um tópico, siga essas dicas:

a) Seja claro no seu pedido;

b) Coloque um título descritivo para a dúvida. Sem pedido de ajuda ou urgência;

c) Diga onde você parou;

d) Preferencialmente poste seu código (ou a parte relevante dele) entre as tags code. Se não sabe fazer isso, leia:

<aside class="onebox whitelistedgeneric">
  <header class="source">
      <img src="/uploads/3X/a/c/aca909929d4899c084464ec4f7141365492663e0.png.webp" class="site-icon" width="128" height="128">
      <a href="http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor" target="_blank" title="02:33PM - 16 January 2007">GUJ  16 Jan 07</a>
  </header>
  <article class="onebox-body">
    <img src="https://www.guj.com.br/images/default-apple-touch-icon.png" class="thumbnail onebox-avatar" width="144" height="144">

<h3><a href="http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor" target="_blank">Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui...</a></h3>

Olá pessoal! Ultimamente tenho notado que grande parte dos novos GUJnautas não perceberam um recurso muito útil e importante que o site do GUJ oferece na hora de criar um post: A Formatação BB (Acho que tem um outro nome mais apropriado, mas não...

e) Use português correto, e jamais poste tópicos ou títulos de tópicos usando apenas LETRAS MAIUSCULAS.

otaviojava

ViniGodoy:
Na verdade, com o Scanner no console, o único método que deve ser usado é o nextLine(). Não use nextInt(), nem nextDouble(), nem next().

O scanner trava pois os demais métodos lêem do console, sem ler o \n. Esse \n fica como lixo na memória do scanner e, numa próxima leitura, trava-se nele.
Usando o nextLine() você jamais terá esse problema.

Você vai notar que códigos com next sem a palavra “line” tornam-se muito instáveis. Muitas vezes a leitura não é confiável, ou trava.
Use esses métodos somente para lidar com arquivos.

valeu pela dica.

Criado 2 de maio de 2011
Ultima resposta 2 de mai. de 2011
Respostas 14
Participantes 5
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo