Java >> Java tutorial >  >> Tag >> while

Java-program til at kontrollere array-grænser, mens elementer indlæses i et array

I denne øvelse lærer vi, hvordan man kontrollerer matrixgrænser, mens man indtaster elementer i en matrix. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.

Input:

Indtast matrixstørrelse:5

Indtast Array Elements:4 6 2 3 7 8

Output: Array-grænser overskredet...

Program 1:Sådan kontrolleres matrixgrænser, mens elementer indlæses i en matrix

I denne tilgang vil vi se, hvordan man kontrollerer matrixgrænser, mens man indtaster elementerne i en matrix ved hjælp af en try catch-blok. Logikken bag at bruge denne tilgang er, at vi først erklærer en matrix af størrelse n. Derefter beder vi brugeren om at give input. Her tager vi input ved hjælp af en prøveblok. Men vi beder brugeren om at give input mere end størrelsen af ​​arrayet, dvs. vi beder brugeren om at indtaste n+1 elementer. Da vi har erklæret arrayet af størrelse n, men vi giver n+1 elementer som input, så kastes ArrayIndexOutOfBoundsException. Denne undtagelse håndteres nu af catch-blokken. Så brugeren vil nu få et output om, at antallet af deklarerede elementer er mere end matrixstørrelsen. Så prøv igen.

Algorithme

  1. Start.
  2. Deklarer matrixstørrelsen.
  3. Bed brugeren om at initialisere matrixstørrelsen.
  4. Deklarer arrayet.
  5. Tag en Try-Catch-blok.
  6. Inde i Prøv-blokken skal du bede brugeren om at initialisere array-elementerne.
  7. Indtast elementerne mere end den angivne størrelse.
  8. Dette vil kaste ArrayIndexOutOfBoundsException.
  9. Nu vil catch-blokken udskrive meddelelsen Array Bounds Exceeded... Prøv igen.
  10. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man kontrollerer matrixgrænser, mens man indtaster elementer i en matrix ved hjælp af Try Catch Block.

/*Java Program to Check Array Bounds while Inputing elements into an Array*/
import java.util.*; 
  
public class Main 
{ 
    // Main driver method 
    public static void main(String args[]) 
        throws ArrayIndexOutOfBoundsException 
    { 
  
        // Taking input from user 
        Scanner sc = new Scanner(System.in); 
        
        //Ask the user to enter the Array Size
        int n;
        System.out.println("Enter the Array Size ");
        n=sc.nextInt();
        
        // Storing user input elements in an array 
        int arr[] = new int[n]; 
        
        System.out.println("Enter more number of elements than the mentioned size ");
        
        // Try block to check exception 
        try { 
            // Forcefully iteration loop no of times 
     
            for (int i = 0; i <= n; i++) 
            { 
                arr[i] = sc.nextInt(); 
            } 
        } 
        catch (ArrayIndexOutOfBoundsException e) 
        { 
            // Print message when any exception occurs 
            System.out.println("Array Bounds Exceeded..."); 
            System.out.println("Try Again"); 
        } 
    } 
}


Indtast Array Size 3
Indtast flere elementer end den nævnte størrelse
3 5 2 1
Array Bounds Exceeded...
Prøv igen

Program 2:Sådan kontrolleres matrixgrænser, mens elementer indlæses i en matrix

I denne tilgang vil vi begrænse antallet af input ved hjælp af en while-løkke. Dette er den nemmeste metode til at kontrollere array-grænser, mens du tager input fra brugeren. Logikken bag ved at bruge denne tilgang er, at vi begrænser antallet af input givet af brugeren ved hjælp af en while-løkke. Når sløjfevariablen matcher arraystørrelsen, stopper løkken med at tage input og viser arrayet.

Algorithme

  1. Start
  2. Deklarer matrixstørrelsen.
  3. Bed brugeren om at initialisere matrixstørrelsen.
  4. Deklarer arrayet.
  5. Bed brugeren om at initialisere array-elementerne.
  6. Tag en try-catch-blok.
  7. Inde i prøveblokken skal du bede brugeren om at initialisere array-elementerne.
  8. Brug en while-løkke til det samme.
  9. Indtast elementerne mere end den angivne størrelse.
  10. Dette vil kaste ArrayIndexOutOfBoundsException.
  11. Nu udskriver catch-blokken meddelelsen Array Bounds Exceeded... Prøv igen.
  12. Stop

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man kontrollerer matrixgrænser, mens man indtaster elementer i en matrix ved at begrænse inputtet ved hjælp af en while-løkke.

/*Java Program to Check Array Bounds while Inputing elements into an Array*/
import java.util.*; 
  
public class Main 
{ 
    // Main driver method 
    public static void main(String args[]) 
    { 
  
        // Taking input from user 
        Scanner sc = new Scanner(System.in); 
        
        //Ask the user to enter the Array Size
        int n;
        System.out.println("Enter the Array Size ");
        n=sc.nextInt();
        
        // Storing user input elements in an array 
        int arr[] = new int[n]; 
        
        int i = 0; 
        
        System.out.println("Enter the Array elements : "); 
        try{
        // Condition check 
            while (true) 
            { 
                if (i == n+1) 
  
                    // Statement to throw an exception 
                    throw new ArrayIndexOutOfBoundsException(); 
                arr[i++] = sc.nextInt(); 
            } 
        
        }
         
        catch (ArrayIndexOutOfBoundsException e) 
        { 
            // Print message when any exception occurs 
            System.out.println("Array Bounds Exceeded..."); 
            System.out.println("Try Again"); 
        } 

    } 
}


Indtast Array Size 5
Indtast Array-elementerne:7 9 5 6 4 3
Array Bounds Exceeded...
Prøv igen


Java tag