Code for the question is
import java.util.Scanner;
public class Test {
static Scanner scn = new Scanner(System.in);
public static void main(String[] args) {
int n = scn.nextInt();
int[] array = takeInputs(n);
int[] UpArray = BinaryToDecimal(array, n);
Display(UpArray);
}
public static int[] BinaryToDecimal(int[] arr, int n) {
int p = 1;
int[] ans = new int[n];
for (int i = 0; i < arr.length; i++) {
while (arr[i] > 0) {
int r = arr[i] % 10;
ans[i] = ans[i] + r * p;
p = p * 2;
arr[i] = arr[i] / 10;
}
}
return ans;
}
public static int[] takeInputs(int n) {
int[] arr = new int[n];
for (int i = 0; i < arr.length; i++) {
arr[i] = scn.nextInt();
}
return arr;
}
public static void Display(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
Can you suggest what changes should I make to make it work.