Answer:
Following are the code to this question:
//import package
import java.util.*;
import java.text.*;
public class Main//defining a class
{
static final int t = 50;//defining an integer constant variable
static int[] ele = new int[t];//defining an array
static int tS = 0;//defining integer variable
static void initelements()//defining a static method
{
Random r= new Random();//creating Random class Object
for (int i = 0; i < t; i++)//use loop to add value in array
ele[i] = Math.abs(r.nextInt()) % 100;//add value in array
}
static public boolean isSorted()//defining a method isSorted
{
boolean x = true;//defining boolean variable
for (int i = 0; i < (t - 1); i++)//use for loop to count array values
if (ele[i] > ele[i + 1])//use if to compare array values
x = false;//use boolean variable to hold false value
return x;//return boolean value
}
static public void swap(int x1, int x2)//defining swap method
{
tS++;//increment variable value by 1
//performing swapping
int te = ele[x1];//defining te variable that holds array values
ele[x1] = ele[x2];//exchanging array values
ele[x2] = te;//holding te values
}
static public void disp()//defining a method disp
{
int v1;
DecimalFormat f = new DecimalFormat("00");//creating DecimalFormat class Object
System.out.println("The elements array is:");//print message
for (int i = 0; i <t; i++)//defining for loop
{
v1 = ele[i];//holding array value in v1 variable
if (((i + 1) % 10) == 0)//use if to check i value
System.out.println(f.format(v1));//print value
else//else block
System.out.print(f.format(v1) + " ");//print value
}
System.out.println();//print space
}
static int getMinimum(int st, int en)//defining a method getMinimum
{
int iMi = st;//defining variable that holds parameter value
for (int i = st + 1; i <= en; i++)//use for loop compare array value
if (ele[i] < ele[iMi])//compare array value
iMi = i;//use iMi to hold loop value
return iMi;//return iMi value
}
static void selectionSort()//defining a selectionSort method
{
int e = t - 1;//defining e variable that holds total array count value
for (int i = 0; i < e; i++)//use for loop to call swap method
swap(i, getMinimum(i, e));//calling the swap method
}
public static void main(String[] args)//defining main method
{
initelements();//calling initelements method
disp();//calling disp method
System.out.println("elements is sorted: " + isSorted());//calling is isSorted method with the message
System.out.println();//for space
selectionSort();//calling selectionSort method
System.out.println("No of swaps :" + tS);//print totalswap value with the message
disp();//calling disp method
System.out.println("elements is sorted: " + isSorted());//calling is isSorted method with the message
System.out.println();//for space
}
}
Output:
Please find the attached file.
Step-by-step explanation:
In this code inside the Main class, 5 static methods "initelements, isSorted, swap, disp, getMinimum and selectionSort" is declared, in which the first method holds random values in arrays, in second array it sorts its values, in the third method it swap the array, in the disp method it shows array values.
In the "getMinimum and selectionSort" it sorts array values and inside the main method, it calls all methods and prints their values.