• 第六周课堂测试


    设计思想:

    在前一次作业的基础上 ,当循环到达最后一位数,即len[num-1]时,对最后一个数进行判断,如果大于零(若小于零,则没有必要了),则重置i(因为循环开始时便是i++,所以这里重置i为-1);

    同时对另外一个计数变量m(统计循环次数,方便进行跳出循环操作,防止陷入无限循环)进行叠加,之后对m进行判断,当m=2时,就要进行第三次循环了,而这次循环是无效的,所以此时利用改变i值跳出循环;

    统计完成,输出最终结果;

    源代码:

    package max;
    import java.util.*;
    public class Array_max {
        public static int Cin(int i){
            Scanner in=new Scanner(System.in);
            System.out.println("请输入第"+(i+1)+"个数");
            int b=in.nextInt();
            return b;
        }
        public static int Get(int len[],int num){
            int max = 0;
            int max0=0;
            int m=0;
            for(int i=0;i<num;i++){
                if(len[i]>0){
                    max=max+len[i];
                }
                else{
                    if(max>max0){
                        max0=max;
                    }
                    max=0;
                }
                if(i==(num-1)&&len[num-1]>0){
                    i=-1;
                    m++;
                }
                if(m==2){
                    i=num;
                }
            }
            if(max>max0){
                max0=max;
            }
            return max0;
        }
        public static void main(String args[]){
            Scanner in=new Scanner(System.in);
            System.out.println("请输入数组数字个数:");
            int num=in.nextInt();
            int len[]=new int[num];
            for(int i=0;i<num;i++){
                len[i]=Cin(i);
            }
            int max=Get(len,num);
            System.out.print("子数组和的最大值为:"+max);
        }
    }

    结果截图:

    总结:

    现在在想这次这样做会不会影响下次进阶操作呢,感觉这样做有点简单,但是确实实现功能了!

  • 相关阅读:
    Hive
    Hadoop简介与分布式安装
    Hadoop分布式文件系统HDFS
    HDFS的操作SHELL和API
    HDFS高级功能
    Yarn
    Hadoop的I/O操作
    Hadoop的RPC工作原理
    Mapreduce入门和优化方案
    MapReduce的工作机制
  • 原文地址:https://www.cnblogs.com/dawn-sky/p/5378081.html
Copyright © 2020-2023  润新知