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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ordinary 中级黑马   /  2015-3-31 10:06  /  919 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

将输入的任意字符串中的字符逐个加5处理,之后输出。

7 个回复

倒序浏览
按ASCII +5?
public static void main(String[] args) {
                System.out.print("请输入一个字符串,按回车结束:");
                Scanner s=new Scanner(System.in);
                String str=s.next();
                s.close();
                String cs = "";
                for(int i=0;i<str.length();i++){
                        char  c=str.charAt(i);
                        cs+=(char)((int)c +5);
                }
                System.out.println(cs);
        }
回复 使用道具 举报
本帖最后由 yi岁⑨很乖❤ 于 2015-3-31 10:36 编辑
  1. String str = "任意字符串";
  2.                
  3.                 /*
  4.                  * replaceAll()是替换整个str返回一个新的String
  5.                  * 每一个字符分装成一个()组,$1获取组中的字符,并且每个后面加上5
  6.                  */
  7.                 System.out.println(str.replaceAll("(.)", "$15"));
复制代码

这里用到了String的replaceAll方法,以及正则表达式
应该清楚了吧?
回复 使用道具 举报
yi岁⑨很乖❤ 发表于 2015-3-31 10:33
这里用到了String的replaceAll方法,以及正则表达式
应该清楚了吧?

楼主的意思真的是每个字符后面加上“5”吗?我理解成先把每个字符转成char,用char的ASCII码加上5后再转成字符输出,是不是我理解错啦,我读书少,你可不要骗我哦{:3_66:}
回复 使用道具 举报
JarryHorse 发表于 2015-3-31 19:04
楼主的意思真的是每个字符后面加上“5”吗?我理解成先把每个字符转成char,用char的ASCII码加上5后再转 ...

你这样一说,好像是我理解错了~:L 好像你是对的~
回复 使用道具 举报
看看,顶个
回复 使用道具 举报
:handshake:handshake:handshake
回复 使用道具 举报
yi岁⑨很乖❤ 发表于 2015-3-31 19:19
你这样一说,好像是我理解错了~ 好像你是对的~

不过你还教了我一个问题呢,就正则那个组写\\15我以为系统会当第十五个组来处理,试了一下才知道,那么问题又来了,请教如果真有十五个组,我要复用第十五组该怎么写?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马