数组课堂练习2

之前发表的时候一直有敏感词汇很久没找出来,后来就忘了发,现补上,望谅解。

设计思想:在原来最大子数组的基础之上,将输入的数组复制一个粘贴到原来的后面。每次循环都扫描起点后输入数字个数个数字。计算数组和,并不断更新最大数组合

程序源代码:

import java.util.Scanner;

public class Arraymax {
    public static void main(String[] args)
    {
        Scanner in=new Scanner(System.in);
        System.out.print("请输入数组长度:");
        int l=in.nextInt();

        int[] shuzu =new int [l*2];
        int number_hezuidazhi=0;

        System.out.println("请输入数组元素");
        for(int i=0;i<l;i++)
        {
            shuzu[i]=in.nextInt();
            shuzu[i+l]=shuzu[i];
        }

        int number_he=shuzu[0];

        for(int m=0;m<l;m++)
        {
            for(int n=m;n<m+l;n++)
            {
                number_he = number_he + shuzu[n];

                if(number_hezuidazhi<number_he)
                {
                    number_hezuidazhi=number_he;
                }

                if(number_he<0)
                {
                    number_he=0;
                }
            }
            number_he = 0;
        }
        System.out.println("最大数组和为"+ number_hezuidazhi);
        in.close();
    }

}

截图:

时间: 2024-11-03 09:06:41

数组课堂练习2的相关文章

java数组课堂

1.数组棋盘 import java.io.*; public class QiPan{ //定义一个二维数组来充当棋盘 private String[][] board; //定义棋盘的大小 private static int BOARD_SIZE = 15; public void initBoard() { //初始化棋盘数组 board = new String[BOARD_SIZE][BOARD_SIZE]; //把每个元素赋为"╋",用于在控制台画出棋盘 for (int

数组课堂作业

一.    设计思路 先定义一个长度为十的数组,然后产生十个1-10的随机数,把它们挨个存到数组里,再用对话框显示出来,然后定义一个sum函数,输出十个数的和. 二.    源程序代码 package sddw; import javax.swing.*; public class Sww {public static void main(String args[]){ int i; double a; String output=""; double []b=new double [

c语言(?二维数组、字符串数组、多维数组)课堂笔记加作业

// //  main.m //  1-19课程笔记 //  二维数组.字符串数组.多维数组 //  讲师:小辉 //  笔者:王学文 //  Created by lanouhn on 15/1/19. //  Copyright (c) 2015年 lanouhn. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { /* //一维数组 int

二维数组sort排序

和副本任务完全无关的奇怪感慨: 完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点. 之前的假期规划在十多天的放飞自我中彻底泡汤,简单的图论都一点不会,sad. 在想要不要把分治 贪心 递推 哈希 大根小根堆再看一遍,我似乎又忘了. 刘神刷题比我快了,我应该好好学习不能这么浪. 大概我永远没有大神们的智商优势吧,所以要更努力. 毕竟没有贯彻意志的希望一无所有,所以努力成为hal一样的绿灯侠吧少年[bushi]. 好了回归正题. 要想知道二维数组

8.17 课堂练习代码,循环与数组

/* 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方. */ #include <stdio.h> void main() { int num,ge,shi,bai; for(num = 100; num < 1000; num++) { ge = num % 10; shi = num / 10 % 10; bai = num / 100; if(ge*ge*ge

课堂作业数组最大和

题目: 输入一个一维整形数组,数组里有正数也有负数. 一维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. 发表一篇博客文章讲述设计思想,出现的问题,可能的解决方案(多选).源代码.结果截图.总结. 设计思想: 1.设计思想: 首先设置两个变量,分别用来存储数组长度也就是number和结果result:然后再通过语句来询问用户需要的数组长度再设个动态数组用来让用户输入数组中的数字,将每一个数值都存放进数组对应位

课堂练习求环整数组中最大子数组之和

设计思路:之前还有一个课堂练习,是用户输入一个整数组,求其中最大子数组之和,我借鉴的其他同学的代码,仅在此基础上修改的.运用try,catch使得用户不必在输入数组之前输入数组的长度,但是需要一个除整数以外的数来结尾.一共使用了3个循环,运用一个循环得出每个数组中最大子数组之和的最大值,一个是用来计算最大子数组之和,最后一个用来实现数组的前移.第一个循环中包着另外两个循环.总的来说,是在之前课堂练习的基础上增加了将一个数组中的每个数做一次最前面的数,从中求出最大值. 程序代码: 1 import

课堂练习——数组

题目1 星光大道:有5个选手,20个评委投票.一人只能投一票. 1 static void Main(string[] args) 2 { 3 //星光大道:有5个选手,20个评委投票. 也就是说:20个人给这5个人投票. 4 5 int[] pingwei = new int[20]; //评委 20个评委的数组 6 7 int[] xuanshou = new int[5] { 0, 0, 0, 0, 0 }; //选手 5个选手的数组 8 9 for (int i = 0; i < 20;

软件工程课堂训练——结对开发之环数组最大和

一.题目及要求: 题目:返回一个整数数组中最大子数组的和 要求(新加):①如果数组A[0]...A[j-1]首尾相邻,允许A[i-1]...A[n-1],A[0]...A[j-1]之和最大:②同时返回最大子数组的位置. 结对人员:胡亚宝  焦燕 二.设计思路: 我们要解决两个问题:求出环数组中最大的子数组:并且定位出该子数组的位置,把它们的名称输出来.要解决这两个问题,我们从以下两个方面入手: ①求出最大子数组:将数组数值按顺序排好称为“一趟”,每求出一趟的最大子数组后,将第一个数值放到最后一个