课堂练习--第7周(两人结对)

合作过程:

上次设计的思路和编程语言的不同,通过沟通讨论统一思想决定使用java进行编程,陈鹏负责编程,李国帅负责进行代码的审查和代码的测试。

 设计思路:

设定三个变量,max是(子数组中的和的最大值,初始值为array[j])、result1(当前子数组的和,初始值为array[j]);

先让用户自己设定数组的长度,之后输入数组(输入的数组进行是否全为负数的判断);

在遍历之前增添一个for循环进行首尾相接;

之后在从数组第一位开始遍历数组, max=max+array[i],若result<0,则令max=0;若max>result,则result=max;

最后当循环运行结束后,输出最后result的值。

遇到的问题:

让初始值为arrary[0]时第一位数值输入时不能为负数;

当全为负数时输出的最大数值为几个负数的和;

源代码:

package shuzhi;
import java.util.Scanner;
public class shuzuzhi {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
        System.out.println("请输入数组长度:");
        int n=in.nextInt();
        int array[]=new int[n];
        int result = 0;
        boolean bool=false;
        System.out.println("请输入相应的整数:");
        for(int i=0;i<n;i++)
        {
            array[i]=in.nextInt();
        }
        for(int i=0;i<n;i++)
        {
            if(array[i]>0)bool=true;
        }
     //判断是否全为负数   

    if(bool)//不全为负数
      {
     	 //圈的循环
        for(int j=0;j<n;j++)
        {
         int max=array[j];
         int result1 =array[j];
           for(int i=0;i<n-j;i++)
            {
              max=max+array[i];
              if(max>result1)
              {
                result1=max;
              }
              if(max<0)
              {
               max=0;
              }
            }
           result=result1;
          }
        }
        else//全为负数
        {
        	int max=array[0];
        	for(int i=1;i<n;i++)
        	{
        		if(max<array[i])
        			max=array[i];
        	}
        	result=max;
        }
        System.out.print("子数组的最大值为:"+result);
	}

}

截图: 

总结:

输入初始值时要明白初始值是否需要改变,利用for循环时确定范围是否正确;

时间: 2024-10-09 01:39:56

课堂练习--第7周(两人结对)的相关文章

两人结对完成升级版小学生四则运算

小学生四则运算程序之前是使用c语言编写的,如今根据界面要求,故切换到Java编程环境,借助Eclipse开发工具 主要的4个拓展方向: 1.程序可以设置皮肤功能,可以改变界面的颜色即可. 2.程序可以出单个整数阶乘的题目:如:4!=24 3.程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题. 4.可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号. 以下是代码展示: 1 i

【构建之法】第4章 两人合作

1 代码风格规范 4个空格的缩进 每个{}独占一行 不要把多个变量定义在一行上 一个类型的成员变量用m_name来命名 Pascal:所有的类型/类/函数名 lowerCamel:变量 注释是为了解释程序做什么(What),为什么这么做(Why),以及要特别注意的地方,只用ASCII字符,不要用中文 函数:只做一件事,并且要做好 单一出口 不要在构造函数中做复杂的操作,简单初始化所有的数据成员即可 看代码是否在代码规范的框架内正确地解决了问题 早期斤斤计较于一些细枝末节也是于大局无补的,但是,这

两人合作

现代软件产业经过几十年的发展,一个软件有一个人单枪匹马完成,以及很少见了,软件都是在相互合作中完成的.合作的最小单位是两个人,两个工程师在一起,要相互看懂对方的代码并不是一件容易的事,因为每个人对"好"的代码的理解是不一样的,所以一个基准线--什么是好的代码规范和设计规范就很必要了."代码规范"可以分成两个部分:1.代码风格规范.2.代码设计规范. 代码风格规范的原则是:简明,易读,无二义性.例如对一个书写格式方面的规定:缩进最好为4个空格:对行宽的限制:括号:断行

两人项目---打飞机的游戏

成员:081李国松 055张倩 1.结对题目:关于打飞机的设想 需求分析:游戏是一个娱乐的方式,随着电子设备的普及,游戏已经占领着人们的大量的时间.本小组决定开发一个打飞机的小游戏,由JAVA语言写成,利用键盘操作,操作简单,游戏机制简单. 2.代码截图及合影 具体代码地址:http://github.com/lgspath/- 3.约定的规范 操作界面继承frame,由于时间有限,子弹判定采用方形判定,飞机判定采用方形判定,子弹弹射机制采用镜面反射机制. 4.记录时间 选题讨论:10% 设计思

三读《构建之法》——源代码的设计、实现、控制与两人合作

现在,<构建之法>的一大半已经读完了,在这一大半本书中,这一部分可以说是对我触动最大的,也应该是整本书对我触动最大的. 整个第二章围绕测试展开,用一个很生动的类比告诉了我们测试的重要性:如果有人说,"一个人写写程序玩玩,单元测试似乎不那么重要.",那么你可以回应他:"你可以大胆对你的女朋友说:'我们只是玩一玩.'看看效果如何". namespace DemoUser{ public class User{ public User(String userE

读完第四章《两人合作》的内容后的总结

两人合作是团队合作的基础:这里介绍的这个基础型"团队"中通用的一些方法以及最重要的--交流--的细节 1.代码规范 代码风格规范.主要是文字上的规定: 缩进:4个空格,而不是tab: 关于断行与空白的{}行 下划线:用来分割变量名字中的作用域标注和变量的语义 大小写:通用的做法是,所有的类/函数名都采用所有单词首字母大写(Pascal)的形式:所有的变量首字母小写,随后的单词首字母大写(Camel): 注释:解释程序做什么.为什么这样做以及要特别注意的地方.注释只用ASCII码字符,不

构建之法 第四章 两人合作

两人合作是团队合作的基础:这里介绍的这个基础型"团队"中通用的一些方法以及最重要的--交流--的细节 1.代码规范 代码风格规范.主要是文字上的规定: 缩进:4个空格,而不是tab: 关于断行与空白的{}行:[作者的建议深得我心--{ .}单独占一行:中间的代码缩进] 下划线:用来分割变量名字中的作用域标注和变量的语义 大小写:通用的做法是,所有的类/函数名都采用所有单词首字母大写(Pascal)的形式:所有的变量首字母小写,随后的单词首字母大写(Camel): 注释:解释程序做什么.

读构建之法 第四章:两人合作

程序员写的代码最终是人在看,所以代码规范很重要,原则是:简明,易读,无二义性. 不光是程序书写的格式问题,还牵涉到程序设计.模块之间的关系.设计模式等方方面面. 代码复审的正确定义看代码是否在代码规范的框架内正确的解决了问题 代码复审的目的在于: 1.找出代码的错误,比如: 1)编码错误,比如一些碰巧骗过了编译器的错误 2) 不符合团队代码规范的地方 2. 发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的 3. 发现算法错误,比如使用的算法不够优化,边界条件没有处理好等 4. 发现潜在的错误

《构建之法》--两人合作

本周学习的是<构建之法>的第四章,这章的主题是两人合作,看到这个题目我的第一反应是现在两人合作的项目还很多吗?因为我一直认为一个项目一般是几个人或是十几个人这样的团队来合作完成的,这个思想也不知道是看到了什么有的.值得一提的是,书中的第五章就是讲团队合作的. 合作的最小单位是两个人,合作过程中必然存在着个人看法,比如一个人看另一个人的代码时就不一定同意其看法了,每个人心中对于好代码的定义也不尽相同,这时候就很有必要给出一个基准线--什么是好的代码规范和设计规范. 看到课本上代码清单4-1,的确