20165334《java程序设计》第六周学习总结
学号 20165334 《Java程序设计》第6周学习总结
教材学习内容总结
第八章知识总结
String 类的常用方法
- public boolean equals(String s):判断当前String对象的字符序列是否与参数s指定的String对象的字符序列相同
- public boolean startsWith(String s)
判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列 - . public int compareTo(String s):按字典序与参数s指定的字符序列比较大小。
如果当前String对象的字符序列与s的相同,该方法返回值0,如果大于s的字符序列,该方法返回正值;如果小于s的字符序列,该方法返回负值。 - public int indexOf (String str):String对象调用方法从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1,其相关方法:
indexOf(String s ,int startpoint)
lastIndexOf (String s)
符串与基本数据的相互转化
public static int parseInt(String s)
可以将由“数字”字符组成的字符串,如“876”,转化为int型数据
例如: int x;
String s = “876";
x = Integer.parseInt(s);
String 类的构造方法:
- String(char[]);
- String(char[],int offset,int length)//分别用字符数组中的全部字符和部分字符创建字符串对象
字符串与字节数组
String(byte[])用指定的字节数组构造一个字符串对象。
String(byte[],int offset,int length) 用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。
StringTokenizer类在java.util包中,有两个常用的构造方法:
-
StringTokenizer(String s):为String对象s构造一个分析器。使用默认的分隔标记,即空格符、换行符、回车符、Tab符、进纸符做分隔标记。
-
StringTokenizer(String s, String delimString对象s构造一个分析器。参数delim的字符序列中的字符的任意排列被作为分隔标记。
Console类
如果希望在键盘输入一行文本,但不想让该文本回显,即不在命令行显示,那么就需要使用java.io包中的Console类的对象来完成。首先使用System类调用console()方法返回一个Console类的一个对象,比如cons:
Console cons = System.console();
然后,cons调用readPassword()方法读取用户在键盘输入的一行文本,并将文本以一个char数组返回:char[] passwd = cons.readPassword();
泛型类声明
可以使用“class 名称<泛型列表>”声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如:
class People<E>
其中People是泛型类的名称,E是其中的泛型,也就是说我们并没有指定E是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据。
Stack泛型类创建一个堆栈对象,堆栈对象常用方法:
- public E push(E item);实现压栈操作
- public E pop();实现弹栈操作。
- public boolean empty();判断堆栈是否还有数据。
- public E peek();获取堆栈顶端的数据,但不删除该数据。
- public int search(Object data);获取数据在堆栈中的位置。
代码调试中的问题和解决过程
在本周迭代与jdb练习题: 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能
问题1:如何实现存放n,m的问题。
解决办法:想到用二维数组存放n,m.于是先构造一个n行的二维数组用来存放组合数,通过C(n,m)=C(n-1,m-1)+C(n-1,m)
发现第n行第m个数(有0行0列)就是(C(n,m))的值,于是用两个循环for(int i=0;i<=n;i++)和for(int j=0;j<=i;j++)(每行可存的数=行数)即可找到a[n][m]。
问题2:命令行如何输入n,m两个数。
之前只知道利用n=Integer.parseInt(args[0]);
实现一个数的输入。这次有点不确定如何做尝试性写成了n=Integer.parseInt(args[0]);
和m=Integer.parseInt(args[1]);
,结果成功了。有点好奇,但是
在学习了第八章相关内容后完全理解了相关知识。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
等测试完补交
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 | |
第五周 | 1000/1300 | 2/9 | 30/90 | |
第六周 | 900/1300 | 2/9 | 30/90 |