Form biggest number

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
for (int m = 0; m < k; m++) {
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
int[] arr1 = largestValue(arr);
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i]);
}
System.out.println();
}

}

public static int[] largestValue(int[] arr) {
    for (int i = 0; i < arr.length - 1; i++) {
        for (int j = 0; j < arr.length - i - 1; j++) {
            int xy = Integer.parseInt(arr[j] + "" + arr[j + 1]);
            int yx = Integer.parseInt(arr[j + 1] + "" + arr[j]);
            if (yx > xy) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    return arr;
}

}

please help me in this only 1 test case is running

Hey @amangaur078
code is fine just a change
Long.parseLong instead of Integer.parseInt
correct Code :

import java.util.*;

public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
for (int m = 0; m < k; m++) {
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
int[] arr1 = largestValue(arr);
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i]);
}
System.out.println();
}

}

public static int[] largestValue(int[] arr) {
	for (int i = 0; i < arr.length - 1; i++) {
		for (int j = 0; j < arr.length - i - 1; j++) {

// mera change
long xy = Long.parseLong(arr[j] + “” + arr[j + 1]);
long yx = Long.parseLong(arr[j + 1] + “” + arr[j]);
if (yx > xy) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
}

okay thanks…!!!

@amangaur078
Please mark your doubts as resolved in your course’s.