哈工大-软件构造-Lab1-P3相关问题

哈工大-软件构造-Lab1-P3相关问题

前言

接着之前的博客,这里简述一下在实验1的P3里我遇到的或同学遇到的一些问题

类中private的初始化

在P3的问题中,我们要构建一个Person类,为了让构建的类有更好的私密性,我们将数据命名为private,这时,在直接调用和初始化的时候,就会产生报错,这是因为private不能直接被外部调用,对于private的数据,要单独写函数来实现调用和初始化的过程。
比如:

 private final String name;

这是我们要建立的Person的名字,对此在创建的时候,我们应该

public Person(String name) {
	        this.name = name;
	    }

同理,在使用的时候,也要

public String getname() {
		 return name;
	 }

对print出来的信息的测试

我们老师要求对错误的情况进行test,而且还不能把error直接throw出来,对此,我想到的方法就是在输入不符合我们的预期的时候,System.out.print(“错误提示”),这样,我们就只要检测,输出的信息是不是正确的就可以了。
关于怎么检验print,我的想法是将print出来的东西,存储在一个String里面,在调用我们熟悉的assertEquals进行比较就可以了。
在网上查了很多怎么存储print的方法,但每次拿来用都会出现问题,在不断的实践之后,总结出如下的方法:

		PrintStream old = System.out;
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		System.setOut(new PrintStream(baos));
		
		/*
		进行正常的函数运行
		*/
		
		String printStr= baos.toString();
		System.setOut(old);
		String str = "错误提示";
		assertEquals(str, printStr);

对此,我的理解是:在初始情况下,控制台之所以有print输出,是因为有个PrintStream指向了控制台,所有,我们要先记录下这个PrintStream,方便日后再归复原样。之后将输出的方向变成一个ByteArrayOutputStream,之后调用toString方法将它转换成字符串,再根据之前保留的PrintStream将输出的方向变为控制台,就万事大吉了。

向GitHub进行提交与删除

首先是当你提交错误的时候,如何将仓库里的东西删除:

(如果要全部删除,就请将第4个$改成:git rm -r --cached *)
在这里插入图片描述(删除之后要把文件夹里的.git文件删除)
提交的方法是:
在这里插入图片描述如果你要教某个文件夹里里的几个文件夹(如:A文件夹里的a文件夹和b文件夹)那么,你就要进入A里面(A的目录下),就要将git add README.md换成git add -f a和git add -f b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值