Exemplo de como ordenar facilmente um objeto alfabeticamente pelo nome
Classe Pessoa Ex2Pessoa.java
Classe Pessoa Ex2Pessoa.java
public class Ex2Pessoa implements ComparableClasse principal Ex2.java{ private String nome; private int idade; private int sexo; private int vacinada; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public int getSexo() { return sexo; } public void setSexo(int sexo) { this.sexo = sexo; } public int getVacinada() { return vacinada; } public void setVacinada(int vacinada) { this.vacinada = vacinada; } @Override public int compareTo(Ex2Pessoa o) { // TODO Auto-generated method stub return 0; } }
/* * 1) Crie uma classe Pessoa contendo os seguintes atributos: nome, idade, sexo e vacinada. Use esta classe para efetuar uma pesquisa sobre dengue envolvendo 10 pessoas. Uma vez finalizado a leitura dos dados, mostre: a) A quantidade de mulheres pesquisadas; b) A porcentagem de homens que se vacinaram contra dengue (em relação à quantidade de homens pesquisados); c) A porcentagem de mulheres com idade inferior a 18 e que se vacinaram (em relação à quantidade de mulheres pesquisadas); d) A porcentagem de homens pesquisados (em relação ao total de pessoas pesquisadas). e) Os nomes e demais dados de todos os pesquisados, ordenados alfabeticamente pelo nome. */ import javax.swing.JOptionPane; public class Ex2 { public static void main(String[] args){ Ex2Pessoa a[] = new Ex2Pessoa[2]; int quanHomemVacinados = 0; int quanHomem = 0; int quanMulher = 0; int quanMuInf18Vacin = 0; //Informamos valores for (int i = 0; i < a.length; i++) { a[i] = new Ex2Pessoa(); a[i].setNome(JOptionPane.showInputDialog("Digite nome")); a[i].setIdade(Integer.parseInt(JOptionPane.showInputDialog("Digite edade"))); a[i].setSexo(Integer.parseInt(JOptionPane.showInputDialog("Digite sexo\n1.Mulher - 2.Homem"))); if (a[i].getSexo() == 2) { quanHomem++; } if (a[i].getSexo() == 1) { quanMulher++; } a[i].setVacinada(Integer.parseInt(JOptionPane.showInputDialog("Foi vacinado?\n1.Sim - 2.Não"))); //Calculamos homens vacinados if (a[i].getSexo() == 2 & a[i].getVacinada()== 1) { quanHomemVacinados++; } if (a[i].getSexo() == 1 & a[i].getIdade() < 18 & a[i].getVacinada() == 1) { quanMuInf18Vacin++; } } //Mostramos quantidade de mulheres pesquisadas JOptionPane.showMessageDialog(null, "Quantidade de mulheres pesquisadas: "+ quanMulher); //Mostramos porcentagem de homens que se vacinaram contra dengue JOptionPane.showMessageDialog(null, "Porcentagem de homens que se vacinaram contra dengue: "+(quanHomemVacinados/quanHomem)*100); //Mostramos porcentagem de mulheres com idade inferior a 18 e que se vacinaram JOptionPane.showMessageDialog(null, "Porcentagem de mulheres < 18 vacinadas: "+(quanMuInf18Vacin/quanMulher)*100); //A porcentagem de homens pesquisados JOptionPane.showMessageDialog(null, "Porcentagem de homens pesquisados: "+(quanHomem/a.length)*100); //Ordenamos os nomes de todas as pessoas pesquisadas alfabeticamente for(int i = 0; i < a.length; i++){ for(int j = 0; j < a.length; j++){ if(a[i].getNome().compareTo(a[j].getNome()) < 0){ Ex2Pessoa temp = a[i]; a[i] = a[j]; a[j] = temp; } } } String resultado = ""; for(int i = 0; i < a.length; i++){ resultado = resultado + a[i].getNome() + " - " + a[i].getIdade() + "\n\n"; } JOptionPane.showMessageDialog(null, resultado); } }
0 comentarios:
Postar um comentário