zoukankan      html  css  js  c++  java
  • 课堂练习第七周

    合作过程:王浩负责编程,董浩男负责测试和审查。

    设计思路:在上一次输出数组最大值的基础上,我会用一个变量k记录最大数组的起始下标,把在此下表之前的所有数字看成一段数组,对数组的和进行计算弱和为正值则进行合并,若为负数则最大数组和仍为此前的最大数组和。

    遇到问题:在输入不同特点的数组时和会出现整个数组packageimport java.u

    public class Sum {
    
        public static void main(String[] args) {
            int arr[]= new int[10];
            int i,j,k=0,l=0,sum1=arr[0],sum=arr[0];
            int temp2=arr[0],temp1=arr[0],temp3=arr[0];
            Scanner sc=new Scanner(System.in);
                System.out.println("请输入一个5个数的数组");
             for(i=0;i<5;i++)
             {
                 arr[i]=sc.nextInt();
             }
               for(i=0;i<5;i++) 
                {
                   if(temp2<0)
                   {  
                       temp2=arr[i]; 
                       
                   }
                       else
                       {
                       k=i;
                       temp2+=arr[i];  
                       }
                   if(temp2>sum1)
                       sum1=temp2;
                       
                 
                }
                   for(j=k-1;j>=0;j--)
                    {               
                       temp1+=arr[j];
                     }
               
                    if(temp1<0||temp1==temp2||l==1)
                        temp3=sum1;
                    else
                        temp3=temp1+sum1;
                        
                   if(temp3>sum) 
                         sum=temp3;
                
                
                
                System.out.println(sum);
            }
    
             
        }

    结果截图:

    实验总结:对于循环和条件语句,在使用前应先理清逻辑关系,对于多个循环条件更应该注重这些。

  • 相关阅读:
    组合模式
    过滤器模式
    桥接模式
    适配器模式
    原型模式
    建造者模式
    抽象工厂
    工厂方法
    静态工厂
    单例模式
  • 原文地址:https://www.cnblogs.com/wanghao369/p/5396405.html
Copyright © 2011-2022 走看看