读书人

字符串的操作 练习题一和练习二

发布时间: 2012-10-14 14:55:08 作者: rapoo

字符串的操作 练习一和练习二

/* * 程序头部注释开始   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.   * 文件名称:字符串的操作 练习一和练习二                           * 作    者:薛广晨                               * 完成日期:2011  年 10 月  10  日   * 版 本号:x1.0               * 对任务及求解方法的描述部分   * 输入描述:  * 问题描述: 1,模拟一个trim方法,去除字符串两端的空格。思路:1,判断字符串第一个位置是否是空格,如果是继续向下判断,直到不是空格为止。结尾处判断空格也是如此。2,当开始和结尾都判断到不是空格时,就是要获取的字符串。2,将一个字符串进行反转。将字符串中指定部分进行反转,"abcdefg";abfedcg思路:1,曾经学习过对数组的元素进行反转。2,将字符串变成数组,对数组反转。3,将反转后的数组变成字符串。4,只要将或反转的部分的开始和结束位置作为参数传递即可。* 程序输出:   * 程序头部的注释结束 */class StringTest {public static void main(String[] args) {//String str = "   ab cd   ";//sop(myTrim(str));String str = "abcdefg";sop(reverseString(str));}//练习一,去除字符串两端空格。public static String myTrim(String str){int start = 0;int end = str.length() - 1;while(str.charAt(start) == ' ' && start < end){start++;}while(str.charAt(end) == ' ' && start < end){end--;}return str.substring(start, end + 1);}//练习二:将字符串反转。/*思路:1,将字符串变成数组。2,对数组反转。3,将数组变成字符串。*/public static String reverseString(String str, int start, int end){//1,将字符串变成数组。char[] chs = str.toCharArray();//2,对数组反转。reverse(chs, start, end);//3,将数组变成字符串。return new String(chs);}public static String reverseString(String str){return(reverseString(str, 0, str.length()));}private static void  reverse(char []arr, int x, int y){for(int start = x, end = y - 1; start < end; start++, end--){swap(arr, start, end);}}private static void  swap(char []arr, int x, int y){char temp = arr[x];arr[x] = arr[y];arr[y] = temp;}public static void sop(Object obj){System.out.println(obj);}}

读书人网 >编程

热点推荐