Duvida Vetor - Exercicio

Tenho que fazer o seguinte exercicio:

Escrever um programa que leia o nome e a nota de cada um de 100 alunos de um determinado curso. Determine e imprima as duas maiores notas, junto com nome dos alunos que obtiveram cada uma delas.

Segue meu codigo imprimindo uma das notas maiores e coloquei so tres alunos pra testar.
Minha duvida é:

Como que faço pra trazer a nota juntamente com o aluno?

[code]import javax.swing.JOptionPane;

public class Exercicio12 {
public static void main(String args[]){
//Declaração de Variáveis
String nomeAluno[]= new String[3];
float nota[]= new float[3];
float maior= 0;

        //Entrada de Dados do Usuário  
        for(int i =0;i<3;i++){
        	nomeAluno[i] = (JOptionPane.showInputDialog("Digite o nome do aluno"));    
	        nota[i] = Float.parseFloat(JOptionPane.showInputDialog("Digite a nota do aluno"));
        }
        for(int i =0; i<3;i++){
        	if(nota[i] >= maior){
        		maior=nota[i];
        		
        	}
        }
        System.out.print(maior+""+nomeAluno);

}
}
[/code]

Olá.

Você pode criar uma classe Aluno que tenha como atributos nome e nota. Dai, ao invés de criar dois vetores, um com nome e outro com nota, você cria apenas um com os alunos.

Entendeu?

Entendi,

So criar uma classe alunos
Recebendo nota e nome?

Sim, a classe Aluno “guarda” dentro dela o nome e a nota de um aluno. Dai, você cria um vetor de alunos e depois descobre as duas maiores notas existentes.

Mensagem errada

Um exemplo? Você cria uma classe Aluno que tenha dois atributos… nome e nota.

Por exemplo, abaixo temos uma classe Pessoa que tem dois atributos: altura e peso.

public class Pessoa {
   private double altura;
   private double peso;

   // métodos get e set
}

Entendeu?

Agora sim, vou criar uma

[code] public class Aluno{
private double Nota;
private String Nome;

    public double getNota() {  
 return this.Nota;  

}
public String getNome() {
return this.Nome;
}
ublic void setNota (double Nota) {
this.Nota = Nota;
}

public void setNome (String Nome) {
this.Nome = Nome;
}
}

[/code]

Isso?

Boa, só tome cuidado com lic void setNota.

Além disso, costumamos colocar, em Java, nomes de classes com letras maiusculas (Aluno) e atributos com letra minúscula (private double nota; private String nome)

Entendeu? :smiley:

Ele vai setar minha nota né?
hehehehehehhe
Acho que entendi sim, agora é so criar as paradas na public void String args né?
e usar a classe Aluno

Fino demais!!!

Resolvido de forma mais simples:

Me corrijam se eu estiver errado:

[code]import javax.swing.JOptionPane;

public class Exercicio12 {  
     public static void main(String args[]){    
            //Declaração de Variáveis    
            String nomeAluno[]= new String[3];  
            float nota[]= new float[3];    
            float maior= 0;
            String nome="";
                
            //Entrada de Dados do Usuário    
            for(int i =0;i<3;i++){  
                nomeAluno[i] = (JOptionPane.showInputDialog("Digite o nome do aluno"));      
                nota[i] = Float.parseFloat(JOptionPane.showInputDialog("Digite a nota do aluno"));  
            }  
            for(int i =0; i<3;i++){  
                if(nota[i] >= maior){ 
                	nome=nomeAluno[i];
                    maior=nota[i];  
                      
                }  
            }  
         
        	  System.out.print("O nome do Aluno com a maior é: "+nome+" e a nota é: "+maior);  
          
}  
}  [/code]

Alguem pra ajudar, não consigo pegar o segundo maior valor…
Deu pau
:lol: