java 三个数组合成一个最小的数

我的代码并未实现 输出最小的组合数

package shuz;
import java.util.Scanner;
public class Pjs {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        @SuppressWarnings("resource")
        Scanner sc=new Scanner(System.in);
        int [] arr=new int [3];
        arr[0]=sc.nextInt();
        arr[1]=sc.nextInt();
        arr[2]=sc.nextInt();
        System.out.println(pj(arr));
    } 
 
 static String pj(int [] array)
 {
     int ljz=1;
     for(int i=0;i<3;i++)
         for(int j=i+1;j<3;j++)
         {    //判断数1和数2哪个的最高位更大或则相同
             //如果数1的最高位大于数2,则在第二个的if语句执行数的交换
             //如果数1的最高位等于数2int a1=array[i],b1=array[j];
             while(a1>=10)
             a1=a1/10;
             while(b1>=10)
             b1=b1/10;
             if(a1<b1)
                 ljz=0;
             
             
             if(ljz==1)
             {
                 int temp;
                 temp=array[i];
                 array[i]=array[j];
                 array[j]=temp;
             }
         }
      String res="";
      for(int i=0;i<3;i++)
      res=res+array[i];
  
     return res;
 }
}

运行截图:

img

 public static void main(String[] args) {
     System.out.print("请输入三个数字:");
     Scanner scanner = new Scanner(System.in);
     int[] arr = new int[3];
     for(int i = 0; i < 3; i++) {
         arr[i] = scanner.nextInt();
     }
     List<Integer> arrList = new ArrayList<>();
     for (int i : arr) {
         arrList.add(i);
     }
     arrList.sort((o1, o2) -> o1 - o2);//按照升序先把进行排序
     StringBuilder stringBuilder = new StringBuilder();
     for (int i : arrList) {
         stringBuilder.append(i);//把排序后的数字用字符串的形式拼接成新的数字
     }
     System.out.println(stringBuilder);//如果需要int,可以用Interge.parseInt(字符串)的形式转换以下
 }
//PS:代码仅是一种解题方案,按照这个思路参考一下,不希望提问的人直接复制。也希望有不同意见的人指导,互相学习