黑马程序员技术交流社区

标题: 还是想问下那个老毕视频中得题,打印次数的有点不同 [打印本页]

作者: 月影箫风起k    时间: 2014-8-4 19:27
标题: 还是想问下那个老毕视频中得题,打印次数的有点不同
前几天看到论坛里有人说的那个按照格式a(7)b(5)c(3),,,打印的那个题,不过题有点不一样,就是字符串是“abadsfs#%¥@&*sdf”,也就是说把字母按照那个格式打印出来,其他的不要,我想问下大家的思路是怎么样的,其实也就是看大家在这个程序里把字母提取出来怎么实现的,看看有没有简单的方法。。。
作者: es2379649    时间: 2014-8-4 22:21
建立一个Map集合。字符串转成字字符数组,遍历数组,判断字符范围是否在字母的区域。在的话判断Map集合里有没有,有的话获取原值加一,没有的话建立一个。不在字母区的直接舍掉就好了。
作者: 月影箫风起k    时间: 2014-8-5 09:27
es2379649 发表于 2014-8-4 22:21
建立一个Map集合。字符串转成字字符数组,遍历数组,判断字符范围是否在字母的区域。在的话判断Map集合里有 ...

你准备怎么用什么方法判断是不是字母呢
作者: fantacyleo    时间: 2014-8-5 09:35
月影箫风起k 发表于 2014-8-5 09:27
你准备怎么用什么方法判断是不是字母呢

>='a'  && <='z' || >='A'  && <='Z'不就挺简单的了?
作者: es2379649    时间: 2014-8-5 09:48
月影箫风起k 发表于 2014-8-5 09:27
你准备怎么用什么方法判断是不是字母呢

a是97,z是122,A是65,Z是90.让获得的字符与97-122和65-90之间进行比较,在范围内的就是。楼下的更简单。
作者: 李利威    时间: 2014-8-5 10:03
想法跟楼上的一样
作者: 月影箫风起k    时间: 2014-8-5 13:54
es2379649 发表于 2014-8-5 09:48
a是97,z是122,A是65,Z是90.让获得的字符与97-122和65-90之间进行比较,在范围内的就是。楼下的更简单 ...

嗯,看看还有吗
作者: 月影箫风起k    时间: 2014-8-5 13:56
fantacyleo 发表于 2014-8-5 09:35
>='a'  && ='A'  &&

字母之间能互相直接比较?
作者: 孤守星空    时间: 2014-8-5 13:59
正则能不能
作者: fantacyleo    时间: 2014-8-5 14:06
月影箫风起k 发表于 2014-8-5 13:56
字母之间能互相直接比较?

当然可以,都是char,为什么不能比?
作者: 月影箫风起k    时间: 2014-8-5 22:04
孤守星空 发表于 2014-8-5 13:59
正则能不能

和我想的一样{:2_36:}
作者: 月影箫风起k    时间: 2014-8-5 22:05
fantacyleo 发表于 2014-8-5 14:06
当然可以,都是char,为什么不能比?

但是符号呢
作者: fantacyleo    时间: 2014-8-5 22:11
月影箫风起k 发表于 2014-8-5 22:05
但是符号呢

符号?你是指@$&这些??它们也是char类型啊
作者: 孤守星空    时间: 2014-8-6 07:26
  1. import java.util.regex.*;
  2. class RegexDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. String str = "asdjfg2315asdj^(&%sadf";
  7. String reg = "[a-zA-Z]+";

  8. Pattern p = Pattern.compile(reg);
  9. Matcher m = p.matcher(str);

  10. while(m.find())
  11. {
  12. System.out.print(m.group());
  13. }
  14. }
  15. }
复制代码


作者: 月影箫风起k    时间: 2014-8-6 08:18
fantacyleo 发表于 2014-8-5 22:11
符号?你是指@$&这些??它们也是char类型啊

好吧,这个我不太清楚啊,还有直接能用大小比较符连接字母吗,我记得要初始化的吧
作者: 月影箫风起k    时间: 2014-8-6 08:19
孤守星空 发表于 2014-8-6 07:26

嗯,和我想的一样果断正则
作者: fantacyleo    时间: 2014-8-6 10:30
月影箫风起k 发表于 2014-8-6 08:18
好吧,这个我不太清楚啊,还有直接能用大小比较符连接字母吗,我记得要初始化的吧 ...

可以啊。初始化是必须的,变量不初始化,编译都通不过
作者: 月影箫风起k    时间: 2014-8-6 13:36
fantacyleo 发表于 2014-8-6 10:30
可以啊。初始化是必须的,变量不初始化,编译都通不过

那怎么初始化才能直接比较呢求教,真心不知道
作者: fantacyleo    时间: 2014-8-6 13:44
月影箫风起k 发表于 2014-8-6 13:36
那怎么初始化才能直接比较呢求教,真心不知道

不是吧,变量初始化,不就是类似:
char c = '3';
作者: 李章敏    时间: 2014-8-6 14:48
感觉正则比较简单点                                                              
作者: 月影箫风起k    时间: 2014-8-6 19:21
fantacyleo 发表于 2014-8-6 13:44
不是吧,变量初始化,不就是类似:
char c = '3';

..我知道我意思是怎么初始化就这道题来取出字母呢
作者: fantacyleo    时间: 2014-8-6 21:13
月影箫风起k 发表于 2014-8-6 19:21
..我知道我意思是怎么初始化就这道题来取出字母呢

不明白你的意思,什么叫”初始化这道题来取出字母“
作者: 月影箫风起k    时间: 2014-8-7 09:22
fantacyleo 发表于 2014-8-6 21:13
不明白你的意思,什么叫”初始化这道题来取出字母“

我的意思是怎么初始化取出字母呢,难道也是97。。。之类的值?
作者: fantacyleo    时间: 2014-8-7 10:16
月影箫风起k 发表于 2014-8-7 09:22
我的意思是怎么初始化取出字母呢,难道也是97。。。之类的值?

:dizzy: 还是不明白你想表达什么。。。
作者: 月影箫风起k    时间: 2014-8-7 11:35
fantacyleo 发表于 2014-8-7 10:16
还是不明白你想表达什么。。。

好吧,那算了




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