Java-program til at opdele et array fra en specificeret position
I denne øvelse lærer vi, hvordan man opdeler et array fra en specificeret position. Det betyder, at arrayet nu vil opdeles i to separate arrays. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.
Input: 8 7 9 5 4 3 1 6 0 9 8 3 4
Output: Position =5
Array 1:8 7 9 5 4
Array 2:3 1 6 0 9 8 3 4
Program 1:Opdel et array fra en specificeret position
I denne metode vil vi se, hvordan man opdeler et array fra en specificeret position ved hjælp af loops.
Algorithme
- Start
- Deklarer størrelsen af arrayet.
- Bed brugeren om at initialisere matrixstørrelsen.
- Deklarer arrayet.
- Bed brugeren om at initialisere arrayet.
- Indtast den position, hvorfra du vil opdele arrayet.
- Deklarer yderligere to arrays for at gemme de opdelte arrays.
- Kopiér elementerne til den angivne position til én matrix.
- Kopiér den næste halvdel af elementerne til et andet array.
- Vis både arrayet.
- Stop.
Nedenstående program viser, hvordan man opdeler et array fra en specificeret position ved hjælp af loops.
/*Java program to split an array from a specified position*/
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the total number of elements ");
n=sc.nextInt(); //Initialize array size
int arr[]=new int[n]; //Declare array
System.out.println("Enter the elements of the array ");
for(int i=0; i<n ;i++) //Initialize array
{
arr[i]=sc.nextInt();
}
System.out.println("Enter the position of the array : ");
int pos=sc.nextInt(); //Enter the position from where you want to split the array
int brr[]=new int[pos]; //Array to store the first half
int z=n-pos;
int crr[]=new int[z]; //Array to store the second half of the array
//Display the elements of the original array
System.out.println("Original Array Elements are ");
for(int i=0;i<n;i++)
{
System.out.print(arr[i]+ " ");
}
System.out.println("");
//Copy the first half elements
for(int i=0;i<pos;i++)
{
brr[i]=arr[i];
}
//Print the first half elements
System.out.println("The first array elements are : ");
for(int i=0;i<pos;i++)
{
System.out.print(brr[i]+ " ");
}
System.out.println("");
//Copy the second half elements
int k=0;
for(int i=pos;i<n;i++)
{
crr[k]=arr[i];
k++;
}
//Print the second half elements
System.out.println("The second array elements are : ");
for(int t=0;t<z;t++)
{
System.out.print(crr[t]+ " ");
}
}
}
Indtast det samlede antal elementer 10
Indtast elementerne i arrayet 2 3 4 1 5 6 7 2 8 9
Indtast arrayets position:4
Original Array Elements er
2 3 4 1 5 6 7 2 8 9
De første array-elementer er:
2 3 4 1
Det andet array-elementer er:
5 6 7 2 8 9
Program 2:Opdel et array fra en specificeret position
I denne metode vil vi se, hvordan man opdeler et array fra en specificeret position ved hjælp af Arrays.copyofRange()
metode.
Algorithme
- Start
- Deklarer størrelsen af arrayet.
- Bed brugeren om at initialisere matrixstørrelsen.
- Deklarer arrayet.
- Bed brugeren om at initialisere arrayet.
- Indtast den position, hvorfra du vil opdele arrayet.
- Deklarer yderligere to arrays for at gemme de opdelte arrays.
- Kopiér elementerne til den angivne position til et array ved hjælp af
Arrays.copyofRange()
metode. - Kopiér den næste halvdel af elementerne til et andet array ved hjælp af
Arrays.copyofRange()
metode. - Vis både arrayet.
- Stop.
Nedenstående program viser, hvordan man opdeler et array fra en specificeret position ved hjælp af Arrays.copyofRange()
metode.
/*Java program to split an array from a specified position*/
import java.util.*;
import java.util.Arrays;
public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n; //Declare array size
System.out.println("Enter the total number of elements ");
n=sc.nextInt(); //Initialize array size
int arr[]=new int[n]; //Declare array
System.out.println("Enter the elements of the array ");
for(int i=0; i<n ;i++) //Initialize array
{
arr[i]=sc.nextInt();
}
System.out.println("Enter the position of the array : ");
int pos=sc.nextInt(); //Enter the position from where you want to split the array
int brr[]=new int[pos]; //Array to store the first half
int z=n-pos;
int crr[]=new int[z]; //Array to store the second half of the array
//Display the elements of the original array
System.out.println("Original Array Elements are ");
for(int i=0;i<n;i++)
{
System.out.print(arr[i]+ " ");
}
System.out.println("");
//Copy the first half elements
brr=Arrays.copyOfRange(arr, 0, pos);
//Print the first half elements
System.out.println("The first array elements are : ");
for(int i=0;i<pos;i++)
{
System.out.print(brr[i]+ " ");
}
System.out.println("");
//Copy the second half elements
crr=Arrays.copyOfRange(arr, pos, n);
//Print the second half elements
System.out.println("The second array elements are : ");
for(int t=0;t<z;t++)
{
System.out.print(crr[t]+ " ");
}
}
}
Indtast det samlede antal elementer 10
Indtast elementerne i arrayet 4 5 8 3 1 4 6 7 3 2
Indtast arrayets position:6
Original Array Elements er
4 5 8 3 1 4 6 7 3 2
De første array-elementer er:
4 5 8 3 1 4
De andet array-elementer er:
6 7 3 2