实验四 字符串操作
一 实验目的
1.掌握字符串的处理方法。
2.掌握String和StringBuffer的区别。
3. 熟悉文件处理及输入输出流的相关方法。
二 知识要点
1.String类
(1)创建String类对象的两种方式。
(2)String类创建的字符串对象的内容不能改变。
(3)String类的常见方法,见表4-1。
方法 | 功能 |
boolean equals(Object obj) | 当前串与参数串的内容进行比较 |
boolean equalsIgnoreCase(String s2) | 忽略字母的大小写,比较当前串和参数串的内容 |
int length() | 返回字符串长度 |
String trim() | 返回去除前导空格和尾部空格的字符串 |
int indexOf(int ch, int fromIndex)) | 从formIndex位置开始往后查字符串中的字符ch的首次出现位置。 |
int indexOf(String s, int fromIndex)) | 从formIndex位置开始往后查字符串中的子串s的首次出现位置。 |
char charAt(int index) | 从串中获取指定位置的字符 |
String substring(int begin, int end) | 根据始末位置从串中获取子串 |
String[] split(String regex) | 按照分隔符将串分成若干子串 |
String replace(char ch1,char ch2) | 将字符串中所有ch1字符换为ch2 |
String toLowerCase() | 将字符串中的所有大写字母改成小写字母 |
String toUpperCase() | 将字符串中的所有小写字母改成大写字母 |
表4-1 String类的常见方法
2. StringBuffer类
(1)使用构造函数创建StringBuffer对象
(2)StringBuffer类创建的字符串可以被修改,可以对串的内容进行增、删、改操作。
(3)StringBuffer的常用方法,见表4-2。
方法 | 功能 |
StringBuffer append(Object obj) | 某个对象的串描述添加到 StringBuffer尾部 |
StringBuffer insert(int pos, Object obj) | 将某个对象的串描述插入到StringBuffer中的某个位置 |
StringBuffer setCharAt(int pos, char ch) | 用新字符替换指定位置字符 |
StringBuffer deleteCharAt(int pos) | 删除指定位置的字符 |
StringBuffer replace(int start, int end, String str) | 将参数指定范围的一个子串用新串替换 |
String substring(int start, int end) | 获取所指定范围的子串 |
表4-2 StringBuffer类的常用方法
三 实验内容
1.根据【模版一】,将【代码一】到【代码二】替换为Java源代码。具体要求如下:
(1)编写一个countChar方法统计一个字符在指定字符串中出现的次数。
(2)从控制台中获取一个算术表达式,利用countChar方法判断该表达式的左右括号数量是否一致,如果一致,输出“equals”,否则输出“not equals”。
【模版一】
class Count {
//【代码一】定义并实现countChar()方法
public static void main(String args[]) {
//【代码二】接收控制台输入
if(countChar(s,'(') == countChar(s,')'))
System.out.println("equals");
else
System.out.println("not equals");
}
}
2、设有中英文单词对照表。请根据【模版二】,将【代码一】到【代码五】替换为Java源代码,具体要求如下:
(1)定义方法find_E:实现中文到英文单词的转换。
(2)定义方法fing_C: 实现英文单词到中文的转换。
(3)在main方法中进行相关测试。如果是中文单词,显示相应的英文单词;输入的是英
文单词,则显示相应的中文单词。
【模版二】
class Translation {
static int find_E(String [][] x, String y) {
/* 【代码一】实现方法find_E。 根据中文英文,到则返回英文单词在对照表中的位置,未到则返回-1 */
}
static int find_C(String [][] x, String y) {
/* 【代码二】 实现方法find_C 。根据英文文中文,到则返回中文单词在对照表中的位置,未到则返回-1 */
}
public static void main(String args[]) {
String [][] x = { {"laugh","笑"},{"test","测试"},{"work","工作"},{"study","学习"}};
//中英文单词对照表
int k;
String in = "笑";
if ( )//【代码四】传入的是英文单词,且到了对应的中文
System.out.println(x[k][1]);
else if ( )//【代码五】传入的是中文单词,且到了对应的英文
System.out.println(x[k][0]);
else
System.out.println("无此单词");
}
}
3、统计指定路径中包含的java源文件的有效代码行数。具体要求如下:(1)如果指定路径对应的是文件夹,则统计该文件夹及其子文件夹中所有java源文件的有效代码之和;(2)如果指定路径对应的是java源文件,则计算该文件的有效代码行数。
四 实验学时: 2学时
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论