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);}}
Programinha De Faculdade Se Alguem Puder Ajudar
Started By Heavy Metal, 12/09/2008, 10:11
1 reply to this topic
#1
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!
#2
Posted 12/09/2008, 10:34
Olá, seja bem vindo ao fórum!
Bem, vejamos alguns pontos: 1) a variável
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:
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
Método main completo:
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 Até mais
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 Até mais
- flatronez sh likes this
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)