字符串求数字段?

 

1.      代码填空

假设s是一个型如:"cat223dog456nice25ttt98"的串,其特征是数字与字符交错。我们希望知道这个串中有多少个数字段。
假设该串必以字符开始。我们给出了如下代码,请完善之:

      boolean old_tag = false;  // 表示开始不是数字

      boolean tag = false;

      int n = 0; // 数字组计数

      for(int i=0; i<s.length(); i++){

        char c = s.charAt(i);

        tag = c>='0' &&c<='9';  // 是否为数字

        if(____________) n++;

        old_tag = tag;

      }

 

 

//总结:审题明确、抓住关键!数字段不是数字,根据题目中的意思就是“223”是一个数字段,而不是求有多少个数字!
题目说到以字符开始所以就boolean old_tag = false;判断布尔型值得时候是“==”,而不是“=”,否则出现以下错误!
填空的内容主要是对算法的一个简单判断,从开始的数字值到不是数字值(即是字符值)之间的比较判断的一个过程!

思考:如果同时改变初始值 old_tag 和"11cat223dog456nice25ttt98"结果有时会怎么样呢???

完整代码:

 

public classDemo1
{
    public static void main (String args[])
    {
      boolean old_tag=false;
      boolean tag=false;
      int n=0;
      String s="cat223dog456nice25ttt98";
      for(int i=0; i<s.length(); i ++)
      {
         char c=s.charAt(i);
         tag=c>='0' &&c <='9';
         if(tag==true && old_tag==false)
         n++;
         old_tag=tag;
      }
      System.out.println(n);
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值