Algoritmo

estou tentando resolver este algoritmo mais ele não esta funcionando pelo q pede na letra a ele mostra resultado só de um aluno em vez de mostrar de todos são cinco alunos e 3 notas de provas obrigado alguém pode ajudar!

[code]
import java.util.*;
public class ex3 {

    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
      
    /* 
Faça uma classe em JAVA que carregue uma matriz com as notas de cinco alunos em três provas.  
Lembre-se que essa quantidade de alunos e provas é uma suposição e que sua classe poderia ser alterada para funcionar com números muito maiores. 
 
Cada nota digitada deve ser validada e as notas válidas estão entre 0 e 10. Sempre que uma nota inválida for digitada uma nova digitação deve ser solicitada.  
 
Carregue também um vetor com o tipo de média (A ? Aritmética e P ? Ponderada). 
Lembre-se que cada aluno terá um tipo de média e que os tipos digitados devem ser validados e os tipos válidos são: A, a, P, p.  
Sempre que um tipo inválido for digitado uma nova digitação deve ser solicitada. 
Os pesos da média ponderada são: 2, 3 e 10. 
 
Mostre: 
 
a)  O número de cada aluno (nº da linha ou da coluna), a média e a situação (aprovado ou reprovado, considerando para aprovação média de no mínimo 7) 
b)  A média de todos os alunos juntos em cada prova 
c)  A maior nota de cada aluno e em que prova aconteceu, DESCONSIDERAR empates. 
d)  A menor nota em cada prova e a que aluno pertence, CONSIDERAR empates.*/  
  
        double nota[][] =  new double [5][3];      
           String media[] = new String[2];      
           int i,j,m;   
           double med;  
           Scanner dado = new Scanner(System.in);      
             
           for(i=0;i<5;i++){      
               System.out.println("digite as notas dos alunos" +(i+1));      
               for(j=0;j<3;j++){      
                    System.out.println("notas da prova "+(j+1));      
                   nota[i][j]= dado.nextDouble();      
                   if(nota[i][j]> 10 || nota[i][j] < 0){      
                       System.out.println("nota inválida");      
                       System.out.println("digite novamente");      
                       nota[i][j]=dado.nextDouble();      
                   }      
                       else{      
                           System.out.println("nota válida");      
                       }      
               }      
                   for(m=0;m<5;m++){      
                       System.out.println("digite o tipo da média A-aritmédia e P-ponderada");      
                       media[m]=dado.next();      
                       if(media[m].equalsIgnoreCase("p")|| media[m].equalsIgnoreCase("A")){      
                           System.out.println("media válida");    
                        break;    
                   }      
                   else{      
                       System.out.println("média inválida");      
                          System.out.println("digite novamente");      
                   }      
               }      
                   for(i=0;i<1;i++){   
                       for(j=0;j<1;j++){      
                           if(media[m].equalsIgnoreCase("p")){    
                               med = (nota[i][j]*2+nota[i][j]*3+nota[i][j]*10)/15;    
                               System.out.println("a média foi "+med);    
                       }else{    
                            med = (nota[i][j]+nota[i][j]+nota[i][j])/3;    
                           System.out.println("a média foi "+med);    
                       }  
                           if(med > 7){
                        	   System.out.println("aluno aprovado");
                           }else{
                        	   System.out.println("aluno reprovado");
                           }
                   }  
           }  
    }  
    }  
}  [/code]

Confira seu for da linha 60.

ja conferi ja tentei por td qualquer numero ele nao da certo

Tem vários problemas:

  1. O for da linha 60 deveria mesmo ir até i<5;
  2. No if da linha 62, você usa media[m]. Que valor tem "m" nesses fors?
  3. Não é necessário o for da linha 61.
  4. O calculo da média ponderada, na linha 63, está errado. Retire o [j] dali e substitua pelo número da nota correspondente;
  5. Corrija a indentação do seu código.

o resultado q deu foi esse

digite as notas dos alunos1
notas da prova 1
3
nota válida
notas da prova 2
4
nota válida
notas da prova 3
5
nota válida
digite o tipo da média A-aritmédia e P-ponderada
p
media válida
a média foi 4.533333333333333
aluno reprovado
a média foi 0.0
aluno reprovado
a média foi 0.0
aluno reprovado
a média foi 0.0
aluno reprovado
a média foi 0.0
aluno reprovado

usando este codigo aqui

[code] import java.util.*;
public class ex3 {

    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
      
    /* 
Faça uma classe em JAVA que carregue uma matriz com as notas de cinco alunos em três provas.  
Lembre-se que essa quantidade de alunos e provas é uma suposição e que sua classe poderia ser alterada para funcionar com números muito maiores. 
 
Cada nota digitada deve ser validada e as notas válidas estão entre 0 e 10. Sempre que uma nota inválida for digitada uma nova digitação deve ser solicitada.  
 
Carregue também um vetor com o tipo de média (A ? Aritmética e P ? Ponderada). 
Lembre-se que cada aluno terá um tipo de média e que os tipos digitados devem ser validados e os tipos válidos são: A, a, P, p.  
Sempre que um tipo inválido for digitado uma nova digitação deve ser solicitada. 
Os pesos da média ponderada são: 2, 3 e 10. 
 
Mostre: 
 
a)  O número de cada aluno (nº da linha ou da coluna), a média e a situação (aprovado ou reprovado, considerando para aprovação média de no mínimo 7) 
b)  A média de todos os alunos juntos em cada prova 
c)  A maior nota de cada aluno e em que prova aconteceu, DESCONSIDERAR empates. 
d)  A menor nota em cada prova e a que aluno pertence, CONSIDERAR empates.*/  
  
    	   double nota[][] =  new double [5][3];        
           String media[] = new String[2];        
           int i,j,m;     
           double med;    
           Scanner dado = new Scanner(System.in);        
               
           for(i=0;i<5;i++){        
               System.out.println("digite as notas dos alunos" +(i+1));        
               for(j=0;j<3;j++){        
                    System.out.println("notas da prova "+(j+1));        
                   nota[i][j]= dado.nextDouble();        
                   if(nota[i][j]> 10 || nota[i][j] < 0){        
                       System.out.println("nota inválida");        
                       System.out.println("digite novamente");        
                       nota[i][j]=dado.nextDouble();        
                   }        
                       else{        
                           System.out.println("nota válida");        
                       }        
               }        
                   for(m=0;m<5;m++){        
                       System.out.println("digite o tipo da média A-aritmédia e P-ponderada");        
                       media[m]=dado.next();        
                       if(media[m].equalsIgnoreCase("p")|| media[m].equalsIgnoreCase("A")){        
                           System.out.println("media válida");      
                        break;      
                   }        
                   else{        
                       System.out.println("média inválida");        
                          System.out.println("digite novamente");        
                   }        
               }        
                   for(i=0;i<5;i++){     
                       //for(j=0;j<1;j++){        
                           if(media[m].equalsIgnoreCase("p")){      
                               med = (nota[i][0]*2+nota[i][1]*3+nota[i][2]*10)/15;      
                               System.out.println("a média foi "+med);      
                       }else{      
                            med = (nota[i][0]+nota[i][1]+nota[i][2])/3;      
                           System.out.println("a média foi "+med);      
                       }    
                           if(med > 7){  
                               System.out.println("aluno aprovado");  
                           }else{  
                               System.out.println("aluno reprovado");  
                           }  
                   }    
           }    
    }    
    } [/code]

resultado

digite as notas dos alunos1
notas da prova 1
5
nota válida
notas da prova 2

6
nota válida
notas da prova 3
7
nota válida
digite o tipo da média A-aritmédia e P-ponderada
p
digite as notas dos alunos1
a média foi 6.533333333333333
media válida
aluno reprovado
digite as notas dos alunos2
a média foi 0.0
media válida
aluno reprovado
digite as notas dos alunos3
a média foi 0.0
media válida
aluno reprovado
digite as notas dos alunos4
a média foi 0.0
media válida
aluno reprovado
digite as notas dos alunos5
a média foi 0.0
media válida
aluno reprovado
digite o tipo da média A-aritmédia e P-ponderada

codigo
creio q tenha alguma coisa no for q esteja errado mais nao estou enxergando

view plaincopy to clipboardprint?

[code] import java.util.*;
public class ex3 {

        /**  
         * @param args  
         */    
        public static void main(String[] args) {    
            // TODO Auto-generated method stub    
            
        /*  
    Faça uma classe em JAVA que carregue uma matriz com as notas de cinco alunos em três provas.   
    Lembre-se que essa quantidade de alunos e provas é uma suposição e que sua classe poderia ser alterada para funcionar com números muito maiores.  
      
    Cada nota digitada deve ser validada e as notas válidas estão entre 0 e 10. Sempre que uma nota inválida for digitada uma nova digitação deve ser solicitada.   
      
    Carregue também um vetor com o tipo de média (A ? Aritmética e P ? Ponderada).  
    Lembre-se que cada aluno terá um tipo de média e que os tipos digitados devem ser validados e os tipos válidos são: A, a, P, p.   
    Sempre que um tipo inválido for digitado uma nova digitação deve ser solicitada.  
    Os pesos da média ponderada são: 2, 3 e 10.  
      
    Mostre:  
      
    a)  O número de cada aluno (nº da linha ou da coluna), a média e a situação (aprovado ou reprovado, considerando para aprovação média de no mínimo 7)  
    b)  A média de todos os alunos juntos em cada prova  
    c)  A maior nota de cada aluno e em que prova aconteceu, DESCONSIDERAR empates.  
    d)  A menor nota em cada prova e a que aluno pertence, CONSIDERAR empates.*/    
        
               double nota[][] =  new double [5][3];          
               String media[] = new String[2];          
               int i,j,m;       
               double med = 0;      
               Scanner dado = new Scanner(System.in);          
               
               for(i=0;i<5;i++){          
                   System.out.println("digite as notas dos alunos" +(i+1));          
                   for(j=0;j<3;j++){          
                        System.out.println("notas da prova "+(j+1));          
                       nota[i][j]= dado.nextDouble();          
                       if(nota[i][j]> 10 || nota[i][j] < 0){          
                           System.out.println("nota inválida");          
                           System.out.println("digite novamente");          
                           nota[i][j]=dado.nextDouble();          
                       }          
                           else{          
                               System.out.println("nota válida");          
                           }          
                   }          
                       for(m=0;m<5;m++){     
                           System.out.println("digite o tipo da média A-aritmédia e P-ponderada");          
                           media[m]=dado.next();  
                           for(i=0;i<5;i++){  
                               System.out.println("digite as notas dos alunos" +(i+1));   
                           if(media[m].equalsIgnoreCase("p")){   
                               med = (nota[i][0]*2+nota[i][1]*3+nota[i][2]*10)/15;        
                               System.out.println("a média foi "+med);   
                               System.out.println("media válida");    
                           }  
                               else if(media[m].equalsIgnoreCase("A")){  
                                   med = (nota[i][0]+nota[i][1]+nota[i][2])/3;        
                                   System.out.println("a média foi "+med);  
                               }else{          
                           System.out.println("média inválida");          
                              System.out.println("digite novamente");          
                       }             
                               if(med > 7){    
                                   System.out.println("aluno aprovado");    
                               }else{    
                                   System.out.println("aluno reprovado");    
                               }   
                           }  
                       }  
                       }  
               }  
        }  
  [/code]

Termine de fazer as correções que sugeri. A linha 62 do código ainda está errada e a indentação também.
Assim que corrigir isso, você vai conseguir enxergar o erro.

eu ja consegui fazer a letra a brigadaoo!

Beleza. Então essa seria a forma que eu faria:

[code]package br.com.guj;

import java.util.*;

/**

  • Faça uma classe em JAVA que carregue uma matriz com as notas de cinco alunos

  • em três provas. Lembre-se que essa quantidade de alunos e provas é uma

  • suposição e que sua classe poderia ser alterada para funcionar com números

  • muito maiores.

  • Cada nota digitada deve ser validada e as notas válidas estão entre 0 e 10.

  • Sempre que uma nota inválida for digitada uma nova digitação deve ser

  • solicitada.

  • Carregue também um vetor com o tipo de média (A ? Aritmética e P ?

  • Ponderada). Lembre-se que cada aluno terá um tipo de média e que os tipos

  • digitados devem ser validados e os tipos válidos são: A, a, P, p. Sempre que

  • um tipo inválido for digitado uma nova digitação deve ser solicitada. Os

  • pesos da média ponderada são: 2, 3 e 10.

  • Mostre:

  • a) O número de cada aluno (nº da linha ou da coluna), a média e a situação

  • (aprovado ou reprovado, considerando para aprovação média de no mínimo 7) b)

  • A média de todos os alunos juntos em cada prova c) A maior nota de cada aluno

  • e em que prova aconteceu, DESCONSIDERAR empates. d) A menor nota em cada

  • prova e a que aluno pertence, CONSIDERAR empates.
    */
    public class ex3 {
    public static void main(String[] args) {
    double nota[][] = new double[5][3];
    String media[] = new String[5];

     Scanner in = new Scanner(System.in);
    
     for (int i = 0; i &lt; nota.length; i++) {
     	System.out.println(&quot;digite as notas dos alunos&quot; + (i + 1));
     	for (int j = 0; j &lt; 3; j++) {
     		System.out.println(&quot;notas da prova &quot; + (j + 1));
     		nota[i][j] = Double.parseDouble(in.nextLine());
     		while (nota[i][j] &gt; 10 || nota[i][j] &lt; 0) {
     			System.out.println(&quot;nota inválida! digite novamente.&quot;);
     			nota[i][j] = Double.parseDouble(in.nextLine());
     		}				
     	}
     	System.out.println(&quot;digite o tipo da média A-aritmédia e P-ponderada&quot;);
     	media[i] = in.nextLine().toLowerCase();
     	while (!(media[i].equals(&quot;p&quot;) || media[i].equals(&quot;a&quot;))) {
     		System.out.println(&quot;média inválida! digite novamente.&quot;);
     		media[i] = in.nextLine();
     	}
     }
    
     for (int i = 0; i &lt; nota.length; i++) {
     	double med = media[i].equals(&quot;p&quot;) ? 
     		(nota[i][0] * 2 + nota[i][1] * 3 + nota[i][2] * 10) / 15 :
     		(nota[i][0] + nota[i][1] + nota[i][2]) / 3;
     	
     	System.out.printf(&quot;A média do aluno %d foi %.01f. Situação: %s%n&quot;, 
     			i, med, med &gt; 7 ? &quot;Aprovado&quot; : &quot;REPROVADO&quot;);
     }
    

    }
    }[/code]

[size=18]Ei, não duplique tópicos. [/size]

Esse tópico será trancado.