java中怎样从一系列字符串中读取小数?例如14.2、0.0 java中怎样从一系列字符串中读取小数?例如14.2、0.0 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.*;public class Fenxi{ public static void main(String args[]) { String str = "we are students 14.2,0.0"; StringTokenizer fenxi= new StringTokenizer(str," ,"); //以空格和逗号分 int len = fenxi.countTokens(); while(fenxi.hasMoreTokens()) { String s = fenxi.nextToken(); StringBuffer temps = new StringBuffer(); char sr[] = s.toCharArray(); for(int i = 0;i<sr.length;i++) { if(Character.isDigit(sr[i]) || (sr[i] =='.')) temps.append(sr[i]); } if(temps.length() != 0) System.out.println("" + new String(temps)); } }} 临时写了一个,也满足要求了,嘿嘿 import java.util.*;public class Fenxi{ public static void main(String args[]) { String str = "we are students 14.2,0.0"; StringTokenizer fenxi= new StringTokenizer(str," ,"); //以空格和逗号分 int len = fenxi.countTokens(); while(fenxi.hasMoreTokens()) { String s = fenxi.nextToken(); StringBuffer temps = new StringBuffer(); char sr[] = s.toCharArray(); for(int i = 0;i<sr.length;i++) { if(Character.isLetter(sr[i])) { System.out.println("字符串:" + s); break; } else if(Character.isDigit(sr[i]) || (sr[i] =='.')) temps.append(sr[i]); } if(temps.length() != 0) System.out.println("数字:" + new String(temps)); } }} 谢谢!!如果那些小数都在在两个标记之间StringTokenizer的参数怎么设?例如: hjkfs>1.42<jierjk>0.0<jioiure public class Test { public static void main(String[] args){ String str ="abc32.45<>1.42**.11222YY0.Xaab12.999.+0.9&bbc"; List numbers = new ArrayList(); StringBuilder sb = new StringBuilder(str); while(sb.indexOf(".") >= 0) { StringBuilder sbFront = getFront(sb); StringBuilder sbEnd = getEnd(sb); if (sbFront.length() > 0 && sbEnd.length() > 0) { numbers.add(sbFront.append(".").append(sbEnd)); } } for(Object obj : numbers) { System.out.println(obj); } } private static StringBuilder getFront(StringBuilder sb) { //handle the front StringBuilder strb = new StringBuilder(); for(int i = sb.indexOf(".") - 1; i > 0; i--) { if(Character.isDigit(sb.charAt(i))) { strb.insert(0, sb.charAt(i)); } else { break; } } return strb; } private static StringBuilder getEnd(StringBuilder sb) { //handle the end StringBuilder strb = new StringBuilder(); int i = 0; for(i = sb.indexOf(".") + 1; i > 0; i++) { if(Character.isDigit(sb.charAt(i))) { strb.append(sb.charAt(i)); } else { break; } } //delete the string sb.delete(0, i); return strb; }} String s="hjkfs>1.42<jierjk>0.0<jioiure";String ss[]=s.split("[^-?\\d+.?\\d*]");for(String k:ss)if(k.matches("-?\\d+.?\\d*")) System.out.println(k); java中有没有虚函数的概念(virtual) 马上要做毕业设计了,我这样的情况该选择什么题目方向做?(不是问怎么做!) 初级Servlet问题 图象问题--急急急--分只有这些了,以后一定补上(帮忙up) 请问如何开发基于Java平台的控制系统 字符串值里包含双引号的,怎么写append到字符串对象里 访问一些页面的时候,怎样做到一部分需要验证,而另一部分页面不需要验证~~~~ 点击button在Tree里添加一个节点,怎么做? 问一个基本问题 路人甲请帮帮忙!!! 读入一个浮点数,如何转化成相应的中文金额 javasrcipt高手请入,明天要交货,谢谢了,折腾不出来
public class Fenxi
{
public static void main(String args[])
{
String str = "we are students 14.2,0.0";
StringTokenizer fenxi= new StringTokenizer(str," ,"); //以空格和逗号分
int len = fenxi.countTokens();
while(fenxi.hasMoreTokens())
{
String s = fenxi.nextToken();
StringBuffer temps = new StringBuffer();
char sr[] = s.toCharArray();
for(int i = 0;i<sr.length;i++)
{
if(Character.isDigit(sr[i]) || (sr[i] =='.'))
temps.append(sr[i]);
}
if(temps.length() != 0)
System.out.println("" + new String(temps));
}
}
} 临时写了一个,也满足要求了,嘿嘿
public class Fenxi
{
public static void main(String args[])
{
String str = "we are students 14.2,0.0";
StringTokenizer fenxi= new StringTokenizer(str," ,"); //以空格和逗号分
int len = fenxi.countTokens();
while(fenxi.hasMoreTokens())
{
String s = fenxi.nextToken();
StringBuffer temps = new StringBuffer();
char sr[] = s.toCharArray();
for(int i = 0;i<sr.length;i++)
{
if(Character.isLetter(sr[i]))
{
System.out.println("字符串:" + s);
break;
}
else if(Character.isDigit(sr[i]) || (sr[i] =='.'))
temps.append(sr[i]);
}
if(temps.length() != 0)
System.out.println("数字:" + new String(temps));
}
}
}
hjkfs>1.42<jierjk>0.0<jioiure
public static void main(String[] args){
String str ="abc32.45<>1.42**.11222YY0.Xaab12.999.+0.9&bbc";
List numbers = new ArrayList(); StringBuilder sb = new StringBuilder(str);
while(sb.indexOf(".") >= 0) {
StringBuilder sbFront = getFront(sb);
StringBuilder sbEnd = getEnd(sb);
if (sbFront.length() > 0 && sbEnd.length() > 0) {
numbers.add(sbFront.append(".").append(sbEnd));
}
}
for(Object obj : numbers) {
System.out.println(obj);
}
} private static StringBuilder getFront(StringBuilder sb) { //handle the front
StringBuilder strb = new StringBuilder();
for(int i = sb.indexOf(".") - 1; i > 0; i--) { if(Character.isDigit(sb.charAt(i))) {
strb.insert(0, sb.charAt(i));
} else {
break;
}
}
return strb;
} private static StringBuilder getEnd(StringBuilder sb) { //handle the end
StringBuilder strb = new StringBuilder();
int i = 0;
for(i = sb.indexOf(".") + 1; i > 0; i++) { if(Character.isDigit(sb.charAt(i))) {
strb.append(sb.charAt(i));
} else {
break;
}
}
//delete the string
sb.delete(0, i);
return strb;
}
}
String ss[]=s.split("[^-?\\d+.?\\d*]");
for(String k:ss)
if(k.matches("-?\\d+.?\\d*")) System.out.println(k);