Java >> Java tutorial >  >> Java

Java-program til at finde de største to tal i en given matrix

I denne vejledning lærer vi, hvordan du finder de to største elementer i en matrix. Den nemmeste måde at finde de to største elementer er ved først at sortere elementerne og derefter returnere de elementer, der er gemt i 0. og første indeks. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.

Input: Indtast Array-elementerne:7 6 9 2 4 1 3 6 9

Output: Første største =9

Næststørste =7

Program 1:For at finde de to største elementer i et array

I denne tilgang vil vi direkte finde det største og næststørste element i arrayet i selve hovedmetoden.

Algorithme

  1. Start
  2. Deklarer en matrix.
  3. Initialiser arrayet.
  4. I den samme hovedmetode skal du kontrollere for de største og næststørste elementer.
  5. Deklarer de to største variable, og initialiser dem med det første og andet element i arrayet.
  6. Så ved at bytte og sammenligne finder vi det største og næststørste element.
  7. Igen tjekker vi for elementerne for at undgå duplikerede elementer.
  8. Vis resultatet.
  9. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man finder de to største tal i et array uden at bruge Funktioner. I dette program erklærer og initialiserer vi først arrayet. Så i selve hovedmetoden erklærer vi to variable og tildeler de to første elementer som de største og næststørste elementer. Ved at bytte og sammenligne finder vi derefter elementerne og viser outputtet.

/*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
        
       
    }
}


Indtast størrelsen af ​​array 7
Indtast array 1 5 6 2 3 4 6 6
First Largest6
Anden Største 5

Program 2:For at finde de to største elementer i et array

I denne tilgang vil vi bruge en separat metode til at finde det største og næststørste element i arrayet ved hjælp af Arrays.sort() metode.

Algorithme

  1. Start
  2. Deklarer en matrix.
  3. Initialiser arrayet.
  4. Kald en separat metode, der viser de første to største elementer i et array.
  5. Deklarer de to største variable, og initialiser dem med det første og andet element i arrayet.
  6. Så ved at bruge Array.sort() sorter først elementerne i arrayet.
  7. Se efter de største og næststørste elementer.
  8. Kontroller igen for duplikerede elementer.
  9. Vis resultatet.
  10. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man finder de to største tal i et array ved hjælp af separate metoder. I dette program erklærer og initialiserer vi først arrayet. Derefter kalder vi en metode og erklærer to variable og tildeler de to første elementer som de største og næststørste elementer. Derefter ved at bruge Arrays.sort() sorter først arrayet og find derefter de to største elementer og vis outputtet.

/*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);     
       
    }
}


Indtast størrelsen af ​​arrayet 10
Indtast arrayet 4 6 1 2 3 98 6 2 98 12
Første største 98
Anden største 12


Java tag