/* * 作成日: 2004/04/17 * */ package my4321; public class my4321 { private int n; private int[] o = new int[4]; private int[] s = new int[4]; private int O; private int S; my4321(int aInt) { n = aInt; } void setN() { O=S=0; for (int i = 0; i < o.length; i++) { O += o[i] * (int) Math.pow(10, o.length - i - 1); S += s[i] * (int) Math.pow(10, o.length - i - 1); } n = O - S; } void sort() { for (int i = 0; i < o.length; i++) { int w = (int) Math.pow(10, o.length - i - 1); //System.out.println("w="+w); o[i] = s[i] = (n / w); n = n % w; } for (int j = 0; j < o.length - 1; j++) { for (int k = j + 1; k < o.length; k++) { if (o[j] < o[k]) { int t = o[j]; o[j] = o[k]; o[k] = t; } if (s[j] > s[k]) { int t = s[k]; s[k] = s[j]; s[j] = t; } } } } int showN() { return n; } void showOS() { for (int i = 0; i < o.length; i++) { System.out.println("oは" + o[i] + "\tsは" + s[i]); } System.out.println(O+"-"+S+"="+showN()); System.out.println(); } public static void main(String[] args) { my4321 aMytest = new my4321(3412); for (int i = 0; i < 10; i++) { aMytest.sort(); aMytest.setN(); aMytest.showOS(); } } }