Jump to content


Photo

Programinha De Faculdade Se Alguem Puder Ajudar


  • Faça o login para participar
1 reply to this topic

#1 Heavy Metal

Heavy Metal

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 12/09/2008, 10:11

fiz todo o programa e executou sem problemas, porem ao acrescentar o calculo da media dentro da estrutura for, começou a dar erros, ja tentei alterar de varias formas, porem o erro permanece... se alguem puder me ajudar agradeço muito! "isso pq nao precisa ter entrada do usuario, ja estao definidas as notas", so apra ver o nivel em q me encontro "baixo", parabens pelo forum!

import javax.swing.*;

public class exercicio_vetores1
	{
		public static void main(String args[])
		 {String disciplinan[]={"Java","Estatist.","Sit.Dig","Log.Mat.","Met.P"};
		  float p1[]={8,7,4,9,10};  // Criação do vetor
		  float p2[]={5,5,3,6,7};
		  float pi[]={5,6,3,7,9};
		  media = new double[5];
			
		String saida ="disciplina\tp1\tp2\tpi\tmedia\n";
			
			for ( int i=0; i<disciplinan.length; i++)
													  media += (p1[i]*3)+(p2[i]*3)+(pi[i]*4)/10;
							  saida +=disciplinan[i]+"\t"+p1[i]+"\t"+p2[i]+"\t"+pi[i]+"\t"+media[i]+"\n";
			 
										  JTextArea  mostratudo = new JTextArea (11,10); //INSTÂNCIA
			mostratudo.setText(saida);
JOptionPane.showMessageDialog (null,mostratudo,"utilizando vetores",JOptionPane.INFORMATION_MESSAGE);
		System.exit(0);}}


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 12/09/2008, 10:34

Olá, seja bem vindo ao fórum! ;)

Bem, vejamos alguns pontos: 1) a variável media deve ser definido um tipo e acredito que seja do tipo double, e não é um vetor como você informou, ou seja:

double media = 0;

2) Na estrutura de repetição for(), a menos que você tenha mais de uma linha que irá se repetir, você poderá descartar as chaves para "cobrirem" todo o laço, neste caso como você possui duas linhas que pretende colocar no laço, faltaram as chaves:

for (int i = 0; i < disciplinan.length; i++) {
// repetição...
}

3) E para cada laço você irá obter somente uma média, então não há necessidade de incrementar o valor à variável media, atribui somente uma vez e joga na variável saida, que esta sim será incrementada:

media = (p1[i] * 3) + (p2[i] * 3) + (pi[i] * 4) / 10;
saida += disciplinan[i] + "\t" + p1[i] + "\t" + p2[i] + "\t"
		+ pi[i] + "\t" + media + "\n";

Método main completo:

public static void main(String[] args) {
		String disciplinan[] = { "Java", "Estatist.", "Sit.Dig", "Log.Mat.", "Met.P" };
		float p1[] = { 8, 7, 4, 9, 10 }; // Criação do vetor
		float p2[] = { 5, 5, 3, 6, 7 };
		float pi[] = { 5, 6, 3, 7, 9 };
		double media = 0;

		String saida = "disciplina\tp1\tp2\tpi\tmedia\n";

		for (int i = 0; i < disciplinan.length; i++) {
			media = (p1[i] * 3) + (p2[i] * 3) + (pi[i] * 4) / 10;
			saida += disciplinan[i] + "\t" + p1[i] + "\t" + p2[i] + "\t"
					+ pi[i] + "\t" + media + "\n";
		}

		JTextArea mostratudo = new JTextArea(11, 10); // INSTÂNCIA
		mostratudo.setText(saida);
		JOptionPane.showMessageDialog(null, mostratudo, "utilizando vetores",
				JOptionPane.INFORMATION_MESSAGE);
		System.exit(0);
	}

Esse cálculo de média eu achei meio estranho se é que o cálculo é o convencional, mas qualquer coisa me diz ai que podemos revisar.

[]'s (ok2)Até mais
  • flatronez sh likes this
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq