前三次作业总结性Blog
三次题目集结束了,我首先对每一次题目集的知识点,题量,难度等发表一下自己的感受。
第一次题目集:主要考察输入输出,对输入的数进行简单的处理,计算,以及循环后输出。对于初学者来说并不困难,当然某些题还是有难度的。虽然题目量比较大,但是考察的都是比较基础的知识,主要考察Java的输入输出以及一些语法的使用,比如判断三角形类型、学号的识别、游戏角色选择等等。



这里列举了第一次题目集的部分源码,可以看出几道题都考验了对if...else if 判断语句的运用,对于初学java的我们来说,我觉得这和C语言里的用法如出一辙,并没有什么太大变化,所以这类题型考验的还是比较简单的知识。通过第一次题目集,我知道了Math.pow()函数可以求指数,并且掌握了输入整数类型Scanner in = new Scanner(System.in)还有输出 System.out.println(),
输入语句
(1)使用java.util包。 import java.util.*;
(2) 构造Scanner类对象,它附属于标准输入流System.in。 Scanner s = new Scanner(System.in);
(3) (3)常用的next()方法系列: nextInt():输入整数 nextLine():输入字符串 nextDouble():输入双精度数 next():输入字符串(以空格作为分隔符)。
输出语句
(1)System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台
(2)System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
(3)System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。

第五题还涉及到了switch case 语句的运用,也是跟C语言一样的。第八题我选择跳过,因为当时的我实在想不出怎么写,最后一题并没有想象中的那么难 ,总的来说第一次题目集并不难,大多数知识考查最基本的知识点,在学C语言的时候就已经学过了。这里注意输出语句System.out.后面如果是println就会自动切行,换成print就不会了,当时写这道题因为这个还耽误了好久。
第二次题目集:第二次题目集考察了字符的转化,考察了我们对二进制的处理怎样应用到字符串上,以及Java中的数学函数,Math.pow的使用,考察了Java数组的知识,第三题String的格式判断与内容提取考察我们从字符串中提取学号

7-1要求将大小写字母转换成对应的数字序号,这里我学习到了string类对字符串的一系列操作,String类在java.lang中,String声明的是不可变的对象,每次操作都是生成新的String对象,然后指针指向新的String对象,原先的对象依旧在内存中,但是不在指向它,那么这个对象就会成为垃圾内存,在某一时刻由java虚拟机回收,int length()用来获取长度,char charAt(int index)是根据位置获取位置上某个字符,而boolean是用来判断的,这里我还学会了运用函数,利用String(char【】)来构造函数

7-2先输入一串数字,用String接收判断是否长度小于11或者没有-1,如果是则输出null data,否则因为0是起始位,先循环处理1,当接收到第一个0时处理数据,先进行奇校验,统计1的个数,然后进行结束符的确定,如果不符合则输出validate error 否则进入下一判断符合所有的则输出字符串信息。然后让i加10因为10个字符串同时进行处理。
题目集三

7-1用了正则表达式(正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑)创建了一个类,这个类中写了方法确定是否格式非法,如果非法则方法会返回false,先将字符传到类中,然后以空格和“,”分割字符串要确定点(“.”)后面有数字并且第一个不是点,并且如果有正负号,则需要判断是否只含有一个正负号,并且在首位上,如果不符合则返回false

7-2利用switch语句对不同的选项分别写出具体的实现的代码即可,考的都是基础的数学知识。第二题同样是设计了一个Myline类,数据域中包括两个点,和构成线的一般式,斜截式的A,B,C,k,b参数,和获取一点到该线的距离的方法,输入x获取y的方法,和静态方法判段两个线是否平行,静态方法判段三点共线,静态方法判断点是否在线上。

7-3正则表达式
定义:正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串
用途:正则表达式会与系统管理员来说非常重要,系统运行过程中会产生大量的信息,这些信息有些是非常重要的,有些则仅是告知的信息。身为系统管理员如果直接看这么多的信息数据,无法快速定位到的重要信息,如“用户账号登陆失败”“服务启动失败”等信息。这时可以通过正则表达式快速提取“有问题”的信息。如此一来,可以将运维工作变得更加简单、方便。
分类正则表达式的字符串表达方式根据不同的严谨程度与功能分为基本正则表达式与扩展正则表达式。基础正则表达式是常用正则表达式最基础的部分。在Linux系统中常见的文件处理工具中grep与sed支持基础正则表达式,二egrep与awk支持扩展正则表达式。
踩坑心得
题目集一需要输出浮点数 所以位数不同导致一些测试点没过
题目集二的奇偶校验
1.偶校验码
8位数据位和1位校验位,共9个数据,其中1的个数必须为偶数
一般校验位可以由八位数据位按照二进制方式直接相加(不考虑进位)得到。
11001010的校验位a=(1+1+0+0+1+0+1+0)=0;
所以发送数据时为110010100.
2.奇校验码
8位数据位和1位校验位,共9个数据,其中1的个数必须为奇数
一般校验位可以由八位数据位直接相加取反(同样不考虑进位)。
11001010的校验位a=~(1+1+0+0+1+0+1+0)=1;
所以发送数据时为110010101.
题目集三非法输入真的难搞,很难得满分

浙公网安备 33010602011771号