Answer:
please find below explanation
Step-by-step explanation:
public class PITest {
// Define makePI method
public static int[] makePi(int n){
/*
* In PI value we have original value 3.141592653589793, so if we convert this
* into an string there will be 17 character in the string an indexing will be
* 0 to 16, so valid index are 0 to 16, we are checking here if a user pass index
* less then 0 or greater the 16 that will be an invalid index
* and we should process that index, and should return from the method
*/
if(n < 0 || n>16){
System.out.println("Inavlid index, Index must be between 0 to 16 ");
return null;
}
//decrare an array of size of the passed number i.e. n
int array[] = new int[n];
//get the value of PI from Math class
double pi = Math.PI;
//convert value of PI into an string and replace dot(.) from the string
String piString = String.valueOf(pi).replace(".","");
/*
* Iterate over the piString and get individual character from the string
* starting from zero and convert that character into int and keep(push) the converted value into the array
*/
for (int i = 0; i <piString.length(); i++) {
array[i]= Character.getNumericValue(piString.charAt(i));
}
// return the array
return array;
}
public static void main(String[] args) {
// to test makePI method call that method by passing an int value this method will return an array of integer
int arr[]= makePi(16);
// check if arr is not null
if(arr!=null){
// iterate over the array and print the values
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
}