import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.Arrays
public class NumberSplit {
public StringBuffer getString(String str) {
StringBuffer strbuf = new StringBuffer("t")
boolean flag = true
for (int i = 0i <str.length()i++) {
char c = str.charAt(i)
// 判断是否是数字
if (c >= '0'&&c <= '9') {
// 判断和字符串中的数字是否重复
for (int j = 1j <strbuf.length()j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环否则标志位设置为true.
flag = false
break
} else
flag = true
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c)
}
}
}
return strbuf
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束")
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in))
String str = buf.readLine()
StringBuffer strbuf = new NumberSplit().getString(str)
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray()
// 对字符数组排序
Arrays.sort(c)
// 输出字符数组
for (int i = 0i <strbuf.length()i++) {
System.out.print(c[i])
}
}
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.Arrays
public class NumberSplit {
public StringBuffer getString(String str) {
StringBuffer strbuf = new StringBuffer("t")
boolean flag = true
for (int i = 0i <str.length()i++) {
char c = str.charAt(i)
// 判断是否是数字
if (c >= '0'&&c <= '9') {
// 判断和字符串中的数字是否重复
for (int j = 1j <strbuf.length()j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环否则标志位设置为true.
flag = false
break
} else
flag = true
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c)
}
}
}
return strbuf
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束")
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in))
String str = buf.readLine()
StringBuffer strbuf = new NumberSplit().getString(str)
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray()
// 对字符数组排序
Arrays.sort(c)
// 输出字符数组
for (int i = 0i <strbuf.length()i++) {
System.out.print(c[i])
}
}
操作方法如下:使用正则表达式表示匹配除数字以外的字符,然后replaceAll方法使用空字符代替匹配的字符,这样剩下的字符串就只包括数字。最后只需要将str转换为int类型就结束了。
Java是一门面向对象编程语言,1990年代初由詹姆斯·高斯林等人开发出Java语言的雏形,最初被命名为Oak,后随着互联网的发展,经过对Oak的改造,1995年5月Java正式发布。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
使用正则表达式可以很方便地从文本中截取数字,下面是详细代码:class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String phoneString = "哈哈,13888889999"
// 提取数字
// 1
Pattern pattern = Pattern.compile("[^0-9]")
Matcher matcher = pattern.matcher(phoneString)
String all = matcher.replaceAll("")
System.out.println("phone:" + all)
// 2
Pattern.compile("[^0-9]").matcher(phoneString).replaceAll("")
}
}