黑马程序员技术交流社区

标题: 求大神指教 [打印本页]

作者: ordinary    时间: 2015-3-31 10:06
标题: 求大神指教
将输入的任意字符串中的字符逐个加5处理,之后输出。

作者: 青青竹竿    时间: 2015-3-31 10:32
按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:33
本帖最后由 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方法,以及正则表达式
应该清楚了吧?
作者: JarryHorse    时间: 2015-3-31 19:04
yi岁⑨很乖❤ 发表于 2015-3-31 10:33
这里用到了String的replaceAll方法,以及正则表达式
应该清楚了吧?

楼主的意思真的是每个字符后面加上“5”吗?我理解成先把每个字符转成char,用char的ASCII码加上5后再转成字符输出,是不是我理解错啦,我读书少,你可不要骗我哦{:3_66:}
作者: yi岁⑨很乖❤    时间: 2015-3-31 19:19
JarryHorse 发表于 2015-3-31 19:04
楼主的意思真的是每个字符后面加上“5”吗?我理解成先把每个字符转成char,用char的ASCII码加上5后再转 ...

你这样一说,好像是我理解错了~:L 好像你是对的~
作者: showdy    时间: 2015-3-31 21:21
看看,顶个
作者: 菜鸟小A    时间: 2015-3-31 21:30
:handshake:handshake:handshake
作者: JarryHorse    时间: 2015-4-1 21:13
yi岁⑨很乖❤ 发表于 2015-3-31 19:19
你这样一说,好像是我理解错了~ 好像你是对的~

不过你还教了我一个问题呢,就正则那个组写\\15我以为系统会当第十五个组来处理,试了一下才知道,那么问题又来了,请教如果真有十五个组,我要复用第十五组该怎么写?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2