其实是很简单的递归用法,没啥特殊的。那个显示部分如果要显示为数字,自己用乘法算吧。呵呵!
- import java.util.Arrays;
- /**
- * 求所有对称数的算法。
- *
- * @author 赵学庆,Java世纪网(http://www.java2000.com.cn/p11215)
- *
- */
- public class T {
- public static void main(String[] args) {
- int[] nums = new int[4];
- find(nums, 0);
- }
- /**
- * 求指定数组的对称数
- *
- * @param nums
- * 数组
- * @param begin
- * 起始位置
- */
- public static void find(int[] nums, int begin) {
- if (begin > nums.length / 2) {
- System.out.println(Arrays.toString(nums));
- return;
- }
- for (int n = begin == 0 ? 1 : 0; n <= 9; n++) {
- nums[begin] = n;
- nums[nums.length - begin - 1] = n;
- find(nums, begin + 1);
- }
- }
- }