凤凰网面试题,给大家分享一下。

netstu 2007-02-01 04:34:05
String s = "32fdsfd8fds0fdsf9323k32k";,从中找出3280932332,

很简单的题,让偶用笔写下来,当时知道怎么搞,可是硬是没写出来。

一个方法是用正则,再者是分割后组合一下。

随便写了一下:

package lesson5;

public class GetNumber {
static String s = "32fdsfd8fds0fdsf9323k32k";

public static void main(String args[] ){
GetNumber g = new GetNumber();
char[] c = s.toCharArray();
StringBuffer sb = new StringBuffer();
for(int i=0;i<c.length;i++) {
if(g.isNumber(c[i])){
sb.append(c[i]);
}
}
System.out.print(sb);
}

public boolean isNumber(char c){
if(Character.isDigit(c)){
return true;
}
return false;
}

}
...全文
2389 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuerenlan07 2007-02-07
  • 打赏
  • 举报
回复
请教 "正则表达式"的定义是什么,什么是"正则表达式".
Buffered 2007-02-07
  • 打赏
  • 举报
回复
我是新手,头一次学到正则
xuerenlan07 2007-02-06
  • 打赏
  • 举报
回复
请教 "正则表达式"的定义是什么,什么是"正则表达式".
yifuzhiming 2007-02-06
  • 打赏
  • 举报
回复
学习
hhtwya 2007-02-06
  • 打赏
  • 举报
回复
String check = "^\\d$";
相当于下面这句话
String check = "^[0-9]$";
判断要匹配的对象是不是数值型的
lookhang 2007-02-06
  • 打赏
  • 举报
回复
用笔写程序总觉得没底。。。。。
liangyubiao 2007-02-06
  • 打赏
  • 举报
回复
好牛啊 得好好学学!
caesarx 2007-02-06
  • 打赏
  • 举报
回复
来个原始办法

public class test {
public static void main(String[] args) {
String s = "32fdsfd8fds0fdsf9323k32k";
char[] arr;
arr = s.toCharArray();
for(int i = 0;i < arr.length;i++)
if(arr[i] <= 58)
System.out.print(arr[i]);
}
}
hbwhwang 2007-02-06
  • 打赏
  • 举报
回复
犯得着正则吗?
hhtwya 2007-02-05
  • 打赏
  • 举报
回复
public class GetNumber {
static String s = "32fdsfd8fds0fdsf9323k32k";

public static void main(String args[]) {
GetNumber g = new GetNumber();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
if (g.checkNumbers(String.valueOf(s.charAt(i)))) {
sb.append(s.charAt(i));
}
}
System.out.print(sb.toString());
}

private boolean checkNumbers(String c){
String check = "^\\d$";
Pattern regex = Pattern.compile(check);
Matcher match = regex.matcher(c);
return match.matches();

}

}
popo327 2007-02-05
  • 打赏
  • 举报
回复
up
quanshi7 2007-02-05
  • 打赏
  • 举报
回复
netstu(孤心)
方法是最简单的,估计考察点就是考怎么分割吧
zhangali0312 2007-02-05
  • 打赏
  • 举报
回复
1楼的比较直观!!!
捏造的信仰 2007-02-05
  • 打赏
  • 举报
回复
1楼正解!
jadefalcon 2007-02-05
  • 打赏
  • 举报
回复
good
alex_lu 2007-02-05
  • 打赏
  • 举报
回复
为什么把if(g.isNumber(c[i]))改成if(Character.isDigit(c[i]))真接使用时会报错:
leojay1 2007-02-05
  • 打赏
  • 举报
回复
都用正则表达式?我来个不用的
public String getNumber(String str){
String ret = "";
String num = "0123456789";
for(int i=0;i<str.length();i++){
if(num.indexOf(str.charAt(i))!=-1){
ret += str.charAt(i)+"";
}
}
return ret;
}
BeiAn 2007-02-05
  • 打赏
  • 举报
回复
正则表达式确实很有用的。。。 得好好学学!
liming830902 2007-02-05
  • 打赏
  • 举报
回复
正则表达式挺好,学习啊!!!
liming830902 2007-02-05
  • 打赏
  • 举报
回复
先把字符串转化位字符数组,然后写个循环加判断,是数字得放到一起组成字符串!!
加载更多回复(12)

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧