20172307 2017-2018-2 《程序设计与数据结构》第10周学习总结

20172307 2017-2018-2 《程序设计与数据结构》第10周学习总结

教材学习内容总结

  • 第十三章
  1. 教材学习中的问题和解决过程

  • 问题1:对流的概念不太清楚。
  • 问题1解决方案:通过查阅网上的资料对流有了大概的了解。流像是一个管道连接着输入和输出两端,一个留的方向是固定的,他通过占据一定的内存每次传输一定的数据信息。
    流是一个类,传输信息要调用这个类里的方法。
    参考至:(Java Stream简介, 流的基本概念)

代码调试中的问题和解决过程

  • PP12.1还算顺利吧,就一开始找思路的时候不太清楚要在哪用到递归
  • 解决方式:最后找到方法在左加右减的那里做递归。代码如下:
    static boolean pal(int left, int Right, String str) {
            boolean result = true;
    
            if (str.charAt(left) == str.charAt(Right) && left < Right) {
             left++;
                Right--;
                pal(left, Right, str);
            }else
                 result = false;
    
            return result;
  • PP12.9没有想到该怎样储存数据
  • 在参考赵晓海同学的想法后用二维数组来储存,自己一直没想到二维数组,以后要加深理解。

代码托管

上周考试错题总结

  • The following method should return true if the int parameter is even and either positive or 0, and false otherwise. Which set of code should you use to replace ... so that the method works appropriately?
    public boolean question3(int x) { ... }:
    A . if (x = = 0) return true;else if (x < 0) return false;else return question3(x - 1);
    B . if (x = = 0) return false;else if (x < 0) return true;else return question3(x - 1);
    C . if (x = = 0) return true;else if (x < 0) return false;else return question3(x - 2);
    D . if (x = = 0) return false;else if (x < 0) return true;else return question3(x - 2);
    E . return(x = = 0);
    错误:A;正确:C
    解析:判断数是否为偶数,在递归时每次减二就可以实现。
  • Aside from writing recursive methods, another way that recursion is often used is to define:
    A . words in English
    B . mathematical functions
    C . rules and laws
    D . child classes of a parent class in object-oriented programming
    E . recursion is used in all of the above
    错误:E;正确:B
    解析:递归还可以用于实现数学公式。
  • An infinite loop and an infinite recursion:
    A . are different because it is impossible to detect the latter, while it‘s quite easy to detect the former
    B . both continue to repeat indefinitely
    C . both will be caught by the compiler
    D . both will be caught by the Java Virtual Machine during execution
    E . none of the above
    错误:A;正确:B
    解析:无限循环和无限递归都会没有限制的重复。

    结对及互评

  • 本周结对学习情况
    • 20172311
    • 对四则运算的进一步讨论!对IO异常的处理及文件的写入
  • 上周博客互评情况
    • 20172311

其他

递归还是蛮难的,看例子的时候就十分困难,感觉还是需要继续学习递归。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 1/3 18/38
第三周 500/1000 1/4 22/60
第四周 300/1300 1/5 30/90
第五周 700/ 2000 1/6 30/120
第六周 792/2792 1/7 30/150
第七周 823/3559 1/8 30/180
第八周 774/4333 3/9 30/ 210
第九周 426/4759 2/11 30/ 240

参考资料

原文地址:https://www.cnblogs.com/20172307hyt/p/9064929.html

时间: 2024-11-10 06:00:15

20172307 2017-2018-2 《程序设计与数据结构》第10周学习总结的相关文章

20172311 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172311 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 本周对异常和递归进行了学习 异常的处理方式有两种:一种是直接抛出,并从异常处终止程序:另一种是捕获并处理异常,从而使程序继续运行. 捕获和处理异常主要运用try-catch语句. 通过继承Exception类可以自定义一个新的异常 处理IO异常的常用方法是抛出异常. 对于某些问题,递归是最精炼和适当的解法,但对于其他问题,递归则不如迭代方法直接. 教材学习中的问题和解决过程 问题:什么是IO操作

20172311《程序设计与数据结构》第一周学习总结

20172311<程序设计与数据结构>第一周学习总结 教材学习内容总结 第一章 概述 (基于软件质量问题引导出数据结构) 高质量软件的几个特征: 质量问题: 必须优先考虑质量特征,并尽最大努力实现 数据结构:计算机存储.组织数据的方式 程序=数据结构+算法 事实证明没有一种方案可以解决所有的问题! 第二章 算法分析(高效利用CPU和内存) 增长函数:表示问题大小(n)与我们希望最优化的值之间的关系,该函数表示了该算法的时间复杂度或空间复杂度 大O记法: 所有具有相同阶次的算法,从运行效率的角度

20172311《程序设计与数据结构》第二周学习总结

20172311<程序设计与数据结构>第一周学习总结 教材学习内容总结 第三章 集合概述 --栈 集合是一种聚集.组织了其他对象的对象,它定义了一种特定的方式,可以访问.管理所包含的对象(称为该集合的元素) 集合可以分为两大类:线性集合和非线性集合 元素彼此之间的组织形式通常由元素添加到集合的次序.元素自身之间的一些内在关系决定 集合是一种隐藏了实现细节的抽象 对象是用于创建集合的一种完美机制 数据类型是一组值及作用于这些数值上的各种操作 集合是一种抽象数据类型 数据结构是一种用于实现集合的基

20172311《程序设计与数据结构》第九周学习总结

20172311<程序设计与数据结构>第九周学习总结 教材学习内容总结 第十五章 图 堆(heap)就是具有两个附加属性的一颗二叉树 1.它是一颗完全树 2.对每一个节点,它小于等于或者大于等于其左孩子和右孩子 HeapADT的UML描述 addElement方法将给定的Comparable元素添加到堆中的恰当位置处,且维持该堆的完全性属性和有序属性 因为一个堆就是一颗完全树,所以对于插入的新节点而言,只存在一个正确的位置,且它要么是h层左边的下一个空位置,要么是h+1层左边的第一个位置(如果

20172305 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172305 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书的第一章简单的介绍了计算机和JAVA的历史,基础内容很多,代码的讲解还没用正式进入,本周一直在做敲代码的准备,简单敲了老师给的"Hello World!"以及书后的PP1.3.PP1.4等简单的小程序. 教材学习中的问题和解决过程 问题1:三种不同类型的错误,运行错误和逻辑错误的混淆 问题1解决方案:针对EX1.20的"希望做加法时却做里乘法"进行了网上

20172314 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172314 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书第一章为计算机系统概述,前面是一些计算机相关的基础知识,让我对计算机有了一个总体的认识,不再是一片空白了,对主存储器和CPU影响深刻,主存储器用于保存程序和数据,CPU执行程序指令.在接下来的Java编程语言与程序开发部分,开始看的时候有点迷茫,不是很理解,后来先按照作业中附带的流程完成一些代码托管之后,接触了完整的简单的程序之后,再回过头来看书,看到的一些陌生的名词在脑海中就有了实际的对应,

20172317《程序设计与数据结构》第一周学习总结

20172317 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 重新温习了一遍计算机的基础 总算了解了局域网广域网因特网万维网这些东西之间的区别了 通过URL的例子知道了网址各个部分的含义 对Java编程语言和程序开发有了一个粗浅的了解 教材学习中的问题和解决过程 问题:练习题SR1.13出现了答案与题目不相符的情况 问题解决方案:题中有个选项是"网卡",答案中没有,反而有个题目没有的选项"调制解调器"(俗称"

20172322 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172328《程序设计与数据结构》第二周学习总结

20172328李馨雨<程序设计与数据结构>第二周学习总结 又到周五,李馨雨同学要开始写博客了.让我们开始吧!(????) 教材学习内容总结 1.首先是String类定义的字符串,然后是print和println的区别.转义字符的学习.(让我印象深刻的\b[回车符]在字符串结尾不显示哈哈,及其更新的\t[换行符],还有在课堂上真正明白了什么是回车.) 2.了解变量.常量.赋值语句.变量:保存数据的内存单元.常量:坚定自己不会变的数据!除非你用java的反射(有点复杂,改权限.去修饰符等等.没实

20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav