[tableau Java] + débutant + fréquence entier
Je dois faire ceci pour un cours:
Écrire un programme qui permet de saisir un tableau de n entiers strictement supérieurs à 0 et de renvoyer les deux entiers les plus fréquents.
À date, je me suis dit que si je mettais les entiers en ordre croissant, cela m'aiderait lors de ma vérification. Mais justement, je ne comprends pas comment trouver les 2 entiers les plus fréquents.
Merci de votre précieuse aide.
Voici mon code à date:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| import javax.swing.JOptionPane;
public class Exercice4 {
public static void main (String[]args){
int nbrEntiers = 0,
i = 0, transition;
boolean permutation;
nbrEntiers = Integer.parseInt(JOptionPane.showInputDialog("Veuillez saisir le nombre d'entiers que vous souhaitez entrer. "));
while(nbrEntiers < 0)
{
System.out.println("Entrée eronnée. Veuillez recommencer");
nbrEntiers = Integer.parseInt(JOptionPane.showInputDialog("Veuillez saisir le nombre d'entiers que vous souhaitez entrer. "));
}
int[] tab = new int [nbrEntiers];
for (i=0; i<(nbrEntiers); i++)
{
tab[i]=Integer.parseInt(JOptionPane.showInputDialog("Entrez la valeur" +(i+1) + " du tableau: "));
}
do
{
//hypothèse : le tableau est trié
permutation=false;
for (i=0; i<(nbrEntiers-1); i++)
{
if(tab[i]>tab[i+1])
{
//s'ils ne le sont pas on échange leurs positions
transition=tab[i];
tab[i]=tab[i+1];
tab[i+1]=transition;
permutation=true;
}
}
}
while(permutation);
}
} |