zoukankan      html  css  js  c++  java
  • 数组中取值


           public static void main(String[] args){
                Calculate i =new Calculate();
                int Max = 0;
                int Max1 = 0;
                Scanner in=new Scanner(System.in);
                System.out.print("请输入数组的长度:");
                int j=in.nextInt();
                System.out.print("请依次输入数组:");
                int Arr[]=new int[j];
                for(int a = 0;a < j; a++){
                    Arr[a]=in.nextInt();
                }
                int Arr1[]=new int [j];
                for(int a = 0; a < j; a++) {
                    for(int b = 0; b < j; b++){
                        Arr1[b]=Arr[(b + a)%(j)];
                    }
                    Max=i.findMaxArr(Arr1);
                    if(Max > Max1) {
                       Max1 = Max;
                    }
                }
                System.out.print("最大的子数组和为"+Max1);
            }
            public int findMaxArr(int[] arr) {
                int Arr = 0;
                int MaxArr = 0;
                int c = arr.length;
                int Location1=0;
                int Location2=0;
                int a;

                for ( a = 0; a < c; a++) {
                    Arr += arr[a];
                    if (Arr < 0) {
                        Arr = 0;
                    }
                    if (Arr > MaxArr) {
                        MaxArr = Arr;
                      }
                }

               for(a = Location2; a >= 0; a--) {
                  if(MaxArr-arr[a]==0) {
                       Location1 = a;
                       break;
                  }
               }
                if (MaxArr == 0) {
                    for ( a = 0; a < c; a++) {
                       if (a == 0) {
                           MaxArr = arr[a];
                       }
                        if (arr[a] > MaxArr) {
                            MaxArr = arr[a];
                        }
                      }
                 }
                return MaxArr;
            }
       

    import static org.junit.Assert.*;

    import org.junit.Before;
    import org.junit.Test;

    public class CalculateTest {
          private Calculate mcalculate;
            int[] Calculate = {-5,4,10,3,8};
            @Before
            public void setUp() throws Exception {
                mcalculate =new Calculate();
            }

            @Test
            public void testMain() throws Exception {

            }

            @Test
            public void testFindMaxArr() throws Exception {
                assertEquals(3, mcalculate.findMaxArr(Calculate), 0);

  • 相关阅读:
    输入成绩看等级
    java输入学生成绩
    java基础
    关于session
    关于XML
    Java EE Map
    互联网应用和企业级应用的区别
    Java EE学习目标
    软件工程-来换网-软件度量
    web前端--学习成果
  • 原文地址:https://www.cnblogs.com/zxx18062723/p/6581915.html
Copyright © 2011-2022 走看看