zoukankan      html  css  js  c++  java
  • 入门算法递归+循环+异常处理练习2020010301

    package org.jimmy.autosearch.test;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    
    public class Recursive2020010301 {
    
        public static void main(String[] args) {
            try {
                ArrayList<HashMap<String, Integer>> list = new ArrayList<HashMap<String, Integer>>();
                HashMap<String, Integer> map = new HashMap<String, Integer>();
                int maxNumber = 3;
                int numberCount = maxNumber - 1;
                int initialIndex = 1;
                int initialIndex2 = 0;
                map.put("maxNumber", maxNumber);
                map.put("numberCount", numberCount);
                map.put("initialIndex", initialIndex);
                map.put("initialIndex2", initialIndex2);
                list.add(map);
                map = new HashMap<String, Integer>();
                maxNumber = 4;
                numberCount = maxNumber - 1;
                initialIndex = 1;
                initialIndex2 = 0;
                map.put("maxNumber", maxNumber);
                map.put("numberCount", numberCount);
                map.put("initialIndex", initialIndex);
                map.put("initialIndex2", initialIndex2);
                list.add(map);
                int currentIndex = 0;
                test5(list, currentIndex);
            } catch (Exception e) {
                
            }
        }
        
        public static void test5(ArrayList<HashMap<String, Integer>> list, int currentIndex) throws Exception {
            HashMap<String, Integer> map = list.get(currentIndex);
            Integer maxNumber = (Integer) map.get("maxNumber");
            Integer numberCount = (Integer) map.get("numberCount");
            Integer initialIndex = (Integer) map.get("initialIndex");
            Integer initialIndex2 = (Integer) map.get("initialIndex2");
            try {
                test4(maxNumber, numberCount, initialIndex, initialIndex2);
            } catch (Exception e) {
                System.out.println("---------------------------------");
                currentIndex++;
                test5(list, currentIndex);
            }
        }
        
        public static void test4(int max, int count, int index, int index2) throws Exception {
            for(int i = index2; i < max; i++){
                int tempIndex = index;
                int tempIndex2 = i;
                int j = i + tempIndex;
                if(index2 >= max - 1 && j >= max - 1){
                    throw new RuntimeException();
                }
                System.out.println("i:" + i + ",j:" + j);
                if(j >= max - 1){
                    tempIndex = 0;
                    tempIndex2++;
                }
                tempIndex++;
                if(i <= max - 1 && j <= max - 1){
                    test4(max, count, tempIndex, tempIndex2);
                }
            }
        }
    
    }

    效果图:

  • 相关阅读:
    解决删除镜像时image is referenced in multiple repositories
    paramiko模块的使用
    python之函数(一)
    python之控制流习题+代码
    python之控制流
    Python之逻辑运算符
    python之列表,元组,字典。
    python之常用的数据类型
    python基础语法之基础语法规则以及设置
    python环境搭建以及pycharm的安装
  • 原文地址:https://www.cnblogs.com/JimmySeraph/p/12144067.html
Copyright © 2011-2022 走看看