实验四  字符串操作
一  实验目的
1.掌握字符串的处理方法。
2.掌握StringStringBuffer的区别。
3. 熟悉文件处理及输入输出流的相关方法。
二  知识要点
1String
1)创建String类对象的两种方式。
2String类创建的字符串对象的内容不能改变。
3String类的常见方法,见表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对象
2StringBuffer类创建的字符串可以被修改,可以对串的内容进行增、删、改操作。
3StringBuffer的常用方法,见表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)
获取所指定范围的子串
java源代码加密
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小时内删除。