解决方案 »

  1.   

    你可以先把控制台输入的字符串,从Scanner实例中拿出来,比如对scanner这个引用句柄,调用它的next系列方法,得到String;
    然后,replaceAll这个方法,是String的,不是Scanner的,所以那儿报错了;
    最后,统计开支,你需要做一个简单的流程,可反复触发“读取控制台输入”这一步,这样可以多次录入购物小票信息,然后你需要一个容器,比如ArrayList,把这些输入存起来,最后再遍历这个容器,把里面的信息筛选、相加;嗯写代码一定要知道自己写的代码是什么意思,这是第一步,第二步则是遇到诸如“统计购物小票一定时间段的总额”的需求,要有一个实现思路。
      

  2.   

    }
    public void todo(){
     System.out.println("请输入您的购物小票");
     Scanner reader=new Scanner(System.in);
     String regex="[^0123456789.]";
     String getnew=reader.next();
     StringTokenizer fenxi=new StringTokenizer(getnew.replaceAll(regex,"*"),"*");
     int number=fenxi.countTokens();
     double sum=0;
     while(fenxi.hasMoreTokens()){
     String str=fenxi.nextToken();
     System.out.println(str);
     sum=sum+Double.parseDouble(str);
     }
     System.out.println("购物小票中的商品种类:"+number+"种");
     System.out.println("购物小票中的价格总额:"+sum+"元");
     }
     
     
     }