java实用类常用类实验练习中遇到的错误
想问一下哪一个写错了 需要怎么更改
可以看看
import java.util.*;
public class Main {
public static void main(String args[]) {
String s="牛奶:68.5元,香肠:15.6元 啤酒:58元 巧克力:106元";
String regex="[^0123456789.]" ; //匹配非数字的正则表达识
String digitMess=s.replaceAll(regex,"*");
StringTokenizer fenxi=new StringTokenizer(digitMess,"*");//创建fenxi,用*做分隔标记解析digitMess中的单词
int number=fenxi.countTokens(); //fenxi调用countTokens()方法返回单词数量
double sum=0;
while(fenxi.hasMoreTokens()) {
String str=fenxi.nextToken(); //fenxi调用nextToken()方法返回单词
System.out.println(str);
sum=sum+Double.parseDouble(str);
}
System.out.println("购物小票中的商品种类:"+number+"种");
System.out.println("购物小票中的价格总额:"+sum+"元");
}
}
sum+
你的正则替换把所有的非数字替换成了*,这个有问题,你把小数点也替换了,出来的结果根本不是数字,那么后边转double就报错了