java常用类实验练习

java实用类常用类实验练习中遇到的错误
想问一下哪一个写错了 需要怎么更改

img

img

可以看看

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就报错了