zoukankan      html  css  js  c++  java
  • 二维数组

    这次课堂作业是二维数组,随机生成一个二维数组,然后求出整个二维数组中子数组和的最大值。之前的几节课都是接触的以为数组,突然接触二维数组,然后不知道该如何下手。找身边写出来的同学问了一下。其实除了一维和二维不一样,其他的都是一样的。代码如下。

    package 数组;
    
    import java.util.Random;
    import java.util.Scanner;
    
    public class shuzu{
    
        public static void main(String[] args) {
            int a[][];
            int i,j,l,h,n,k,sum,max;
            //随机产生一个数组
            Scanner scanner = new Scanner(System.in);
            System.out.print("输出随机产生的数组的长度:");//设置数组的长
            h=scanner.nextInt();
            System.out.print("输出随机产生的数组的高度:");//设置数组的高
            l=scanner.nextInt();
            scanner.close();
            a=new int[l][h];//将设置的长和宽赋给这个数组
            for(i=0;i<l;i++)
            {
                for(j=0;j<h;j++)
                {
                    Random random = new Random();
                    a[i][j]=random.nextInt(11);//随机生成一个数赋给整个二维数组中的相对位置的值
                    a[i][j]=a[i][j]-1;
                    System.out.print(a[i][j]);
                    System.out.print(", ");//每个数字之间设置间距
                }
                System.out.println("");
            }
            max=0;//先设置最大值为0
            for(n=0;n<l;n++)
            {
                sum=0;//先设置最大值为0
                for(i=0;i<l-n;i++)
                {
                    sum=0;
                    for(j=0;j<h;j++)
                    {
                        for(k=i;k<=i+n;k++)
                        {
                            sum=sum+a[k][j];
                        }
                        /*System.out.print(sum);
                        System.out.print(" ");*/
                        if(sum<0)
                        {
                            sum=0;
                        }
                        if(max<sum)
                        {
                            max=sum;
                        }
                    }
                }
            }
            System.out.print(max);
            System.out.println("");            
        }
    }

    运行结果如下:

    在这个程序中,首先随机生成一个二维数组,然后设置生成的二维数组的长和宽。将设置的长和宽赋值给这个数组。随机生成数字,然后赋值给这个数组中相应的位置。在每个数字间设置间距。之后得出和最大的二维数组的方法和一维数组相似。

  • 相关阅读:
    wifi 天线
    Ubuntu下通过SSH远程登录服务器的方法
    wifi 天线
    免费20G全能空间正在火爆开放中。。。。。要的抓紧时间申请了.
    php设计模式 Mediator (中介者模式)
    DEDE图片集上传图片时出错显示(FILEID)的解决办法
    SPL spl_autoload_register与__autoload方法使用示例浅谈
    mysql_fetch_array()和mysql_fetch_assoc()两个函数的区别
    nginx多站设置
    php中echo(),print(),print_r()的区别
  • 原文地址:https://www.cnblogs.com/zhaoxinhui/p/10587686.html
Copyright © 2011-2022 走看看