PAT 1019 数字黑洞

问题遇到的现象和发生背景

PAT 1019 数字黑洞
可以帮忙看看我的代码哪里错了吗?

问题相关代码,请勿粘贴截图

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

static int solve(int N) {
    int N2 = 0;
    ArrayList number = new ArrayList();
    number.add(N/1000);
    number.add(N/100%10);
    number.add(N%100/10);
    number.add(N%10);
    number.sort(null);
    int a1 = number.get(3)*1000+number.get(2)*100+number.get(1)*10+number.get(0);
    int a2 = number.get(0)*1000+number.get(1)*100+number.get(2)*10+number.get(3);
    N2 =a1 - a2;
    System.out.printf("%04d - %04d = %04d\n", a1, a2,N2);
    return N2;
}
public static void main(String[] args)  {
    Scanner in = new Scanner(System.in);
    int N = in.nextInt();
    while(N!=6174) {
        if(N%1111==0) {
            System.out.println(N+"-" + N+" = 0000");
            break;
        }
        N = solve(N);
    }
    
}

}

运行结果及报错内容

img