Java双层for循环 数学黑洞6174 Scanner input=new Scanner(System.in); System.out.print("请输入一个任意的四位正整数:"); int a=input.nextInt(); int min,max;//最大值 最小值 int b=0;//记次数 int[] numbers = new int[4];//定义一个数值来记录输入的数 每个位上的数值 while(a!=6174){//让等于6174时退出循环 for (int i = 0; i < numbers.length; i++) { numbers[i]=a%10;//取个位上的数 a/=10;//每次循环都除十 保证每个位上的数都取到 } Arrays.sort(numbers);//数组顺序排序 min = numbers[0] * 1000 + numbers[1] * 100 + numbers[2] * 10 + numbers[3] * 1;//每个位的数 排完序 最小值 max = numbers[3] * 1000 + numbers[2] * 100 + numbers[1] * 10 + numbers[0] * 1;//每个位的数 排完序 最大值 a=max-min; b++; System.out.println(max+"-"+min+"="+a); } System.out.println(b+"次");