A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张卫刚 中级黑马   /  2013-3-24 15:50  /  1412 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张卫刚 于 2013-3-25 21:13 编辑

abcKmoverKmeboK
怎么把第一个K 和最后一个 K 替换成 H
结果如:abcHmoverKmeboH

点评

记得及时处理帖子哦,继续追问,或将分类改成【已解决】,谢谢  发表于 2013-3-24 23:06

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

4 个回复

倒序浏览
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.          StringBuffer sb=new StringBuffer("abcKmoverKmeboK");
  6.          sb.setCharAt(sb.indexOf("K"),'H');//把第一个K换成字符H
  7.          sb.setCharAt(sb.lastIndexOf("K"),'H');//倒数第一个K换成字符H
  8.          System.out.println(sb.toString());
  9.         }
  10. }
复制代码
以上仅供参考.

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
1楼正解
StringBuffer sb=new StringBuffer("abcKmoverKmeboK");
sb.setCharAt(sb.indexOf("K"), 'H');
sb.setCharAt(sb.lastIndexOf("K"), 'H');

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
感谢各位,有没有更好的办法,就这么个串动用StringBuffer感觉有点大动尴尬了,我用StringBuilder试过,就是感觉小小个串有没有更好的办法
回复 使用道具 举报
本帖最后由 幻@尋 于 2013-3-25 14:58 编辑

看我的!代码看着有点多,其实思路很简单的:
  1. public class Replace
  2. {
  3.         public static void main(String[] args)
  4.         {               
  5.                 //定义目标字符串
  6.                 String str = "abcKmoverKmeboK";
  7.                
  8.                 //目标字符串转换成字符数组
  9.                 char[] c = str.toCharArray();
  10.                
  11.                 //从头开始找:
  12.                 for(int x=0; x<c.length; x++)
  13.                 {
  14.                         //碰到匹配的,直接修改后退出循环
  15.                         if('K' == c[x])
  16.                         {
  17.                                 c[x] = 'H';
  18.                                 break;
  19.                         }
  20.                 }
  21.                
  22.                 //从末尾开始找:
  23.                 for(int y=c.length-1; y>=0; y--)
  24.                 {
  25.                         //碰到匹配的,直接修改后退出循环
  26.                         if('K' == c[y])  
  27.                         {
  28.                                 c[y] = 'H';
  29.                                 break;
  30.                         }
  31.                 }
  32.                
  33.                  //打印看看吧:
  34.                 System.out.print(new String(c));
  35.         }
  36. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马