Boa Tarde a todos, preciso exibir um aluno com menor nota e a nota já consegui descobrir a menor nota, agora preciso descobrir o aluno que tem esta nota,
qualquer ajuda será bemvinda. Meu Array de nomes ja esta pronto(sArrayNome[indice])
Um exemplo de como pegar o maior e o menor numero de um Array
/**
*
* @author Juliano Landim
* @date 26/02/2012
*/
package guj;
public class MenorValorNoArray {
double nota[] = new double[]{7.0,9,3.4,7,8,10,5.6,9.65};
public MenorValorNoArray(){
// aqui eu pego o menor e o maior double do array
double menor = nota[0]; // nota[0] = 1o. valor armazenado no vetor
double maior = nota[0]; // nota[0] = 1o. valor armazenado no vetor
for (int i = 0; i < nota.length; i++) {
if (nota[i] < menor) {
menor = nota[i];
}
if (nota[i] > maior) {
maior = nota[i];
}
}
System.out.println("A menor nota é:"+menor);
System.out.println("A maior nota é:"+maior);
}
public static void main(String args[]){
new MenorValorNoArray();
}
}
Na hora que você pegar a maior nota do array de notas, salva o nome do aluno em uma String, pegando do seu array de nomes na posição iAluno.
[quote=julianolandim]Um exemplo de como pegar o maior e o menor numero de um Array
[code]
/**
*
- @author Juliano Landim
-
@date 26/02/2012
*/
package guj;
public class MenorValorNoArray {
double nota[] = new double[]{7.0,9,3.4,7,8,10,5.6,9.65};
Valeu, eu já consegui pegar a menor e a maior nota do array, agora eu preciso mostrar qual aluno recebeu estas nota, os nomes destes alunos estão em outro array.
Abraços
public MenorValorNoArray(){
// aqui eu pego o menor e o maior double do array
double menor = nota[0]; // nota[0] = 1o. valor armazenado no vetor
double maior = nota[0]; // nota[0] = 1o. valor armazenado no vetor
for (int i = 0; i < nota.length; i++) {
if (nota[i] < menor) {
menor = nota[i];
}
if (nota[i] > maior) {
maior = nota[i];
}
}
System.out.println("A menor nota é:"+menor);
System.out.println("A maior nota é:"+maior);
}
public static void main(String args[]){
new MenorValorNoArray();
}
}
[/code][/quote]
public static void main(String[] args) {
List<Aluno> alunos = new ArrayList<Aluno>(Arrays.asList(new Aluno("Alexandre", 7), new Aluno("João", 8), new Aluno("José", 5)));
ordenar(alunos, new Comparator<Aluno>() {
public int compare(Aluno o1, Aluno o2) {
return o2.getNota() - o1.getNota();
}
});
System.out.println(alunos);
}
public static void ordenar(List<Aluno> alunos, Comparator<Aluno> comparator) {
Collections.sort(alunos, comparator);
}
public class Aluno {
private String nome;
private int nota;
public Aluno(String nome, int nota) {
this.nome = nome;
this.nota = nota;
}
public String getNome() {
return nome;
}
public int getNota() {
return nota;
}
@Override
public String toString() {
return this.nome;
}
}
Saída desse código:
[João, Alexandre, José]