Java >> Tutoriel Java >  >> Java

Programme Java pour trouver les deux plus grands nombres dans un tableau donné

Dans ce tutoriel, nous allons apprendre à trouver les deux plus grands éléments d'un tableau. Le moyen le plus simple de trouver les deux éléments les plus grands consiste à trier d'abord les éléments, puis à renvoyer les éléments stockés dans le 0e et le premier index. Mais avant d'aller plus loin, si vous n'êtes pas familier avec les concepts du tableau, alors consultez l'article Tableaux en Java.

Saisie : Entrez les éléments du tableau :7 6 9 2 4 1 3 6 9

Sortie : Premier plus grand =9

Deuxième plus grand =7

Programme 1 :Pour trouver les deux plus grands éléments d'un tableau

Dans cette approche, nous trouverons directement le plus grand et le deuxième plus grand élément du tableau dans la méthode principale elle-même.

Algorithme

  1. Démarrer
  2. Déclarez un tableau.
  3. Initialiser le tableau.
  4. Dans la même méthode principale, recherchez les éléments les plus grands et les deuxièmes plus grands.
  5. Déclarez les deux plus grandes variables et initialisez-les avec les premier et deuxième éléments du tableau.
  6. Ensuite, en échangeant et en comparant, nous trouvons le plus grand et le deuxième plus grand élément.
  7. Nous vérifions à nouveau les éléments pour éviter les éléments en double.
  8. Afficher le résultat.
  9. Arrêter

Vous trouverez ci-dessous le code correspondant.

Le programme ci-dessous montre comment trouver les deux plus grands nombres dans un tableau sans utiliser Functions. Dans ce programme, nous déclarons et initialisons d'abord le tableau. Ensuite, dans la méthode principale elle-même, nous déclarons deux variables et attribuons les deux premiers éléments en tant que plus grand et deuxième plus grand élément. Ensuite, en échangeant et en comparant, nous trouvons les éléments et affichons la sortie.

/*Java Program to directly find the two largest elements in an array*/
import java.util.Scanner;

public class LargestElement
{

     public static void main(String []args)
     {
         Scanner sc=new Scanner(System.in);
         int n;     //Declare array size
         System.out.println("Enter the size of the array");
         n=sc.nextInt();   //Initialize array size
         
         int arr[]=new int[n];   //Declare array 
        System.out.println("Enter the array");  
        for(int i=0;i<n;i++)     //Initialize array
        {
            arr[i]=sc.nextInt();
        }
               
        int lar1=arr[0];   //Initialize the first largest element
        int lar2=arr[1];   //Initialize the second largest element

         //Check by swapping elements
        
               if(lar1<lar2)
                {
                    int temp=lar1;
                    lar1=lar2;
                    lar2=temp;
                }
                
        for(int i=2;i<n;i++)
        {
            if (arr[i] > lar1)
			{
				lar2 = lar1;
				lar1 = arr[i];
			}
			else if (arr[i] > lar2 && arr[i] != lar1)
			{
				lar2 = arr[i];
			}
        }
        System.out.println("First Largest"+lar1);    //Display the first largest
        System.out.println("Second Largest "+lar2);  //Display the second largest
        
       
    }
}


Entrez la taille du tableau 7
Entrez le tableau 1 5 6 2 3 4 6 6
Premier plus grand6
Deuxième plus grand 5

Programme 2 :Pour trouver les deux plus grands éléments d'un tableau

Dans cette approche, nous utiliserons une méthode distincte pour trouver le plus grand et le deuxième plus grand élément du tableau en utilisant Arrays.sort() méthode.

Algorithme

  1. Démarrer
  2. Déclarez un tableau.
  3. Initialiser le tableau.
  4. Appelez une méthode distincte qui affichera les deux premiers éléments les plus grands d'un tableau.
  5. Déclarez les deux plus grandes variables et initialisez-les avec les premier et deuxième éléments du tableau.
  6. Puis en utilisant Array.sort() triez d'abord les éléments du tableau.
  7. Vérifiez les éléments les plus grands et les deuxièmes plus grands.
  8. Vérifiez à nouveau les éléments en double.
  9. Afficher le résultat.
  10. Arrêter

Vous trouverez ci-dessous le code correspondant.

Le programme ci-dessous montre comment trouver les deux plus grands nombres dans un tableau en utilisant des méthodes distinctes. Dans ce programme, nous déclarons et initialisons d'abord le tableau. Ensuite, nous appelons une méthode et déclarons deux variables et affectons les deux premiers éléments comme éléments les plus grands et les deuxièmes. Ensuite, en utilisant Arrays.sort() triez d'abord le tableau, puis trouvez les deux éléments les plus grands et affichez la sortie.

/*Java Program to find the two largest elements in an array using separate methods*/
import java.util.Scanner;
import java.util.*;

public class LargestElement
{

     static void findLargest(int arr[], int n)      //Method to find the two largest element
     {
        int lar1=arr[0];     //Initialize the first largest
        int lar2=arr[1];     //Initialize the second largest
        
        //Sort the elements of the array using Array.sort()
               Arrays.sort(arr);
        for(int i=2;i<n;i++)
        {
            if (arr[i] > lar1)
			{
				lar2 = lar1;
				lar1 = arr[i];
			}
			else if (arr[i] > lar2 && arr[i] != lar1)
			{
				lar2 = arr[i];
			}
        }
        System.out.println("First Largest"+lar1);    //Display First Largest
        System.out.println("Second Largest "+lar2);  //Display Second  Largest
         
     }
     public static void main(String []args)
     {
         Scanner sc=new Scanner(System.in);
         int n;     //Declare array size
         System.out.println("Enter the size of the array");
         n=sc.nextInt();   //Initialize array size
         
         int arr[]=new int[n];   //Declare array 
        System.out.println("Enter the array");  
        for(int i=0;i<n;i++)     //Initialize array
        {
            arr[i]=sc.nextInt();
        }
               
        findLargest(arr,n);     
       
    }
}


Entrez la taille du tableau 10
Entrez le tableau 4 6 1 2 3 98 6 2 98 12
Premier plus grand 98
Deuxième plus grand 12


Balise Java