旧时故梦
码龄6年
关注
提问 私信
  • 博客:29,946
    问答:3,755
    33,701
    总访问量
  • 17
    原创
  • 782,780
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2018-11-08
博客简介:

tpc724的博客

查看详细资料
个人成就
  • 获得21次点赞
  • 内容获得4次评论
  • 获得94次收藏
创作历程
  • 15篇
    2020年
  • 2篇
    2019年
成就勋章
TA的专栏
  • 软件构造
    11篇
  • 算法
    1篇
  • LeetCode
    1篇
  • C++
    2篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

工厂模式和抽象工厂模式

1、工厂模式当client不知道要创建哪一个具体类的实例,或者不想在client代码中指明要具体创建的实例;换句话说就是计划在不同条件下创建不同的实例。在这种情况下,适合使用个工厂模式。工厂模式可以视作是一个虚拟的构造器,主要思路是定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂模式的大致框架如下:(其中不同的Concrete为不同的构造方法,Product为具体构造的实例)//常规情况下,client直接创建实例对象Product p=new P
原创
发布博客 2020.07.09 ·
214 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

代理模式和适配器模式

1、代理模式(Proxy)代理通常用于网络访问中,允许客户端通过代理与另一个网络终端实现非直接的连接。代理模式的思想就是来自于网络代理,创建一个类来代表现有的一个类,以便向外界提供功能接口,也可以认为是现有类的一个访问层。通常在直接访问类比较麻烦或代价较高的情况下实行。代理模式的结构如下1.1 实例问题背景...
原创
发布博客 2020.07.09 ·
720 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

观察者模式和访问者模式

1、观察者模式(Observer)
原创
发布博客 2020.07.09 ·
1654 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

装饰模式和外观模式

装饰模式(Decorator)当我们扩展一个类时,通常使用继承子类的方式,但当扩展的功能比较多的时候,子类会变得比较臃肿,在这种情况下,除了使用delegation以外,还可以使用装饰模式。装饰模式形象地理解就是往类上套上包装进行装饰,也就是说在不改变类结构的前提下,向现有的对象提供新的功能,因此这是一种结构性模式。装饰模式的应用场景:当需要给一个现有类添加附加职责,但该类被隐藏或者该类是终极类或者采用继承方式会产生大量的子类;当对象的功能要求可以动态地添加,也可以再动态地撤销时;Java中装饰模式
原创
发布博客 2020.07.09 ·
2889 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

策略模式和模板模式

1、策略模式(Strategy)对于一个类来说,如果在不同的情况下实现的算法不同,可以采用策略模式。
原创
发布博客 2020.07.09 ·
958 阅读 ·
1 点赞 ·
2 评论 ·
8 收藏

89C51单片机中_nop_()报错

答:

应该是_nop_();吧

回答问题 2020.06.28

请问怎么使用replaceAll方法?怎么在泛型中使用它来将字符串小写转换成大写?

答:

可以使用

String regex="([a-z])+";
b1.replaceAll(regex, "$0").toUpperCase();

出现七个的原因我也没弄明白,而且好像这样就不会出现七个了

String b1 = b.replaceAll("abcdefg", b.toUpperCase());

如果题主知道了原因也希望可以回复一下。
PS:可以参考
replaceAll方法介绍

回答问题 2020.06.27

请教下各位大神C语言中Strlen()的问题?

答:

可以在循环语句结束后向CH数组中添加‘\0’试试,因为strlen函数计算的是以\0结尾的字符串的长度,这也是和sizeof的区别,如果你的字符数组中没有出现\0,那么strlen函数
会在内存中继续往下读,你遇到的情况是结果大于定义的字符数组的长度,显然,是数组越界了,但只要内存位置是存在的,它还是可以往下读,如果感兴趣
的话,可以反汇编程序查看在strlen函数作用下内存的变化,这样就更清楚了。
如果有问题,欢迎私信交流(我也是一个小白~)

回答问题 2020.06.27

各位大神帮我解释一下,图片里的代码,我是个菜鸟,麻烦了!!!!

答:

根据代码,应该有三个数组name,xh,score分别存储姓名,学号和成绩,添加函数addScore定义了一个bool变量flag,flag是用来判断name数组是否已满,换句话说就是判断是否有添加用户,当flag为true时说明添加了用户,而flag为false时表明name数组没有为null的位置,也就没有添加用户。
遍历name数组,判断当前遍历的位置是否为null,若为null则通过控制台输入来进行添加。
这个函数的大致思路就是这样,有问题可以私信~

回答问题 2020.06.27

一道进制转换题,拜托大神看一下 在蓝桥网上提交之后只有90分????

答:

好像没有处理输入为0的情况

回答问题 2020.06.27

Java语言一共有多少种错误,比如说null错误,io错误,还有什么别的错误没有,谁总结下给我

答:

Java中定义了错误类Error和异常类Exception,如果想知道详细的错误,可以查看Java的文档,这是其中一部分的截图和文档的链接图片说明

回答问题 2020.06.27

状态模式和备忘录模式

1 状态模式(State)状态模式把对象的行为包装在不同的状态对象里,每一个状态对象都是一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。和状态模式较相似的操作就是if…else if…else语句,同样都代表了不同条件下的对象行为,但是当条件较多时,或者状态改变较为复杂时,使用状态模式是更好的选择。1.1 状态模式的结构状态模式所涉及到的类包括三种Context;客户端中使用某一具体状态的实例。State;状态接口,定义每个状态所使用的方法。Con
原创
发布博客 2020.06.21 ·
289 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java日志Log4j 2简介

1 Java常用的日志框架以下是五种常用的日志框架,包含官网链接 JDK logging Apache Log4j 2Apache Commons-loggingSLF4Jsyslog-ng2 Log4j日志的levelALL;打开所有等级的日志Trace;追踪每一条执行语句Debug;细粒度下为调试程序Info;粗粒度为反映程序运行主要过程Warn;警告信息Error;错误信息Fatal;导致程序退出的重大错误信息OFF;关闭所有日志信息All----OFF日志等级从
原创
发布博客 2020.06.20 ·
222 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

断言与防御式编程

1 断言1.1 断言的含义断言:在开发阶段的代码中嵌入,检验某些条件是否成立,如果成立,程序运行正常,否则会抛出AssertionError,程序运行终止断言的使用主要是测试代码的正确性,可以在一定程度上保证代码质量,而且不会影响运行时性能(在实际使用时,assertion都会被disabled)。当出现AssertionError则说明与某些rep与预期出现偏差 ,和抛出异常类似,同样可以在发生错误时输出错误信息。例:assert x>=0;assert x>=0 : "x"
原创
发布博客 2020.06.19 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

健壮性(Robustness)

1、健壮性与正确性健壮性:系统在不正常输入情况下仍能表现正常的程度。处理未期望的行为和错误终止;即使终止执行,也要准确/无歧义地向用户展示错误信息错误信息有助于debug正确性:程序按照spec加以执行的能力,是最重要的质量指标正确性 vs 健壮性正确性,永不给用户错误的结果;健壮性,尽可能保持软件运行而不是总是退出正确性倾向于直接报错,健壮性倾向于容错对外的接口,倾向于健壮性;对内的实现,倾向于正确性2、错误和异常处理在Java的Throwable类中有两个子类:Except
原创
发布博客 2020.06.18 ·
10922 阅读 ·
4 点赞 ·
0 评论 ·
19 收藏

线程安全及其策略

1 线程安全之前介绍了线程之间的交错与竞争,线程之间的竞争条件是作用于同一个mutable数据上的多个线程,彼此之间存在对该数据的访问竞争并导致interleaving,导致post-condition可能被违反,这就导致了线程不安全。线程安全:ADT或方法在多线程中要执行正确,不需要额外的协调。共有四种线程安全的策略,分别为限制数据共享(Confinement),共享不可变数据(Immutability),共享线程安全的可变数据(Thread data type)和同步机制(Synchronizati
原创
发布博客 2020.06.16 ·
413 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

并行和分布式编程简介(Concurrent and Distributed Programming)

1、并发(Concurrency)1.1 并发的基本概念并发这一部分的内容在CSAPP中有详细的介绍,在软件构造课程多线程这一节简单介绍了这部分内容,可以作为一种复习。并发,通俗的解释就是多个计算在同一时间同时发生。由于摩尔定律的实效,且为了充分利用多核和多处理器,并发使用越来越频繁。应用的场景主要是网络上的多台计算机、一台计算机上的多台应用、一个CPU的多核处理器。并发的两种models:共享内存,在内存中读写共享数据;消息传递,通过channel交换消息。共享内存:两个处理器共享内存;同一台
原创
发布博客 2020.06.13 ·
687 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

算法笔记:分治法基础

1、最大子数组问题问题:在原数组A[1…n]中找到一个连续的子数组A[i…j],使该子数组中所有元素之和最大。算法基本思想:将原数组分成两部分,连续的子数组所处的位置只有三种情况:在数组左半部分,mid左侧;在数组右半部分,mid右侧;跨越中点,即既在mid左侧,又在mid右侧。分别计算这三种情况子数组的最大元素和,取三种情况中的最大值,这种情况下的子数组即为最大子数组。计算子数组的元素和通过...
原创
发布博客 2020.03.05 ·
308 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

哈希表的简单应用(一):LeetCode 205 & 290

LeetCode 205:同构字符串给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 :输入: s = “egg”, t = “add”输出: true输入: s = “foo”, t = “b...
原创
发布博客 2020.02.22 ·
142 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

位运算的简单应用

概述在学习程序语言时,并没有感受到位运算的用处,只知道左移右移可以代替乘法除法且效率较高。学习完CASPP后,发现其实位运算还是比较重要的,它更贴近于底层,最近写的一些题目中,发现位运算有许多意想不到的作用,可以巧解一些题,在这里做一下总结和梳理。位运算符号& : 与运算——按位与,两个位为1则与运算之后为1,其余情况为0| :或运算——按位或,两个位为0则或运算之后为0,其...
原创
发布博客 2020.02.21 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多