• 一维数组(单步调试)


    单步调试是在输出代码块中加入条件语句,首次运行输入的如果是非数字,则顺序执行

    如果输入的是不超过当前执行次数的整数时实现回滚

    如果输入的整数超过当前执行次数,出现提示,此时无论输入任何类型数据,都会顺序执行

     

    回滚功能:将执行的次数和执行该次数时对应子数组的起始位置,以及到当前执行次数为止的子数组最大值和所有子数组的和实现一对多的对应关系

    代码中是temp和j,i,sum,all对应

    在一个duiying类中实现。

    package SHUZU;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;               
    import java.util.Scanner;        
    class duiying{
        int x,y,sum;
        List<Integer> all;
        public List<Integer> getAll() {
            return all;
        }
        public void setAll(List<Integer> all) {
            this.all = all;
        }
        public duiying(int x1,int y1,int sum1,List<Integer> a)
        {
            x=x1;
            y=y1;
            sum=sum1;
            all=new ArrayList<Integer>(a);
        }
        public int getSum() {
            return sum;
        }
        public void setSum(int sum) {
            this.sum = sum;
        }
        public int getX() {
            return x;
        }
        public void setX(int x) {
            this.x = x;
        }
        public int getY() {
            return y;
        }
        public void setY(int y) {
            this.y = y;
        }
        
    }
    public class shuzu {
        
        public static void main(String[] args) {        
            //        WriterFun();
            List<Integer> shuzu=new ArrayList<Integer>();
            int a[]=new int[10];
            Scanner input=new Scanner(System.in);
            for(int i=0;i<=9;i++)
            {
                a[i]=input.nextInt();
                shuzu.add(a[i]);
            }
    
            List<duiying> dy=new ArrayList<duiying>();
            int temp=1;
            for(int j=-1;j<=(shuzu.size()-2);j++)
            {
                int sum=0,back;
                for(int i=j+1;(i<=shuzu.size()-1);i++)
                {
    
                    if(input.hasNextInt())
                    {
                        back=input.nextInt();
                        if(back>(temp-1))
                            {
                                System.out.println("输入有误!(超出回滚范围,继续顺序执行)");
                            }
                        else
                        {
                        temp=back;
                        j=dy.get(temp-1).getX();
                        i=dy.get(temp-1).getY();
                        all=dy.get(temp-1).getAll();
                        sum=dy.get(temp-1).getSum();
                        }
                    }
                    else
                    {
                        input.next();
                    }
                    dy.add(new duiying(j,i,sum,all));
                    sum=sum+shuzu.get(i);
                    System.out.print("当前已检查到第"+temp+"个子数组"+"      ");
                    System.out.print("由第"+(j+2)+"个到第"+(i+1)+"个元素组成"+"      ");
                    temp++; 
                
                    all.add(sum);
                    Collections.sort(all); 
                    System.out.print("当前最大子数组的和:");
                    System.out.println(all.get(all.size()-1));
                    
    
                }
            }
            input.close();
    
    
    
        }
    
    }
  • 相关阅读:
    jquery ajax全解析
    java 远程调试 remote java application
    w3c html dom
    ngx_php
    websocket+前后端分离+https的nginx配置
    CentOS6下基于Nginx搭建mp4/flv流媒体服务器
    nginx could not build the server_names_hash 解决方法
    Nginx 实现AJAX跨域请求
    Nginx与Apache的Rewrite规则的区别
    nginx支持pathinfo模式
  • 原文地址:https://www.cnblogs.com/janeszj/p/10770580.html
Copyright © 2020-2023  润新知