標(biāo)題:數(shù)字段計(jì)數(shù)
在一個(gè)給定的字符串中,既包含數(shù)字也包含字母。
我們不關(guān)心具體的數(shù)字、字母都是什么。
我們只是想知道,被字母隔開的數(shù)字區(qū)域一共有多少個(gè)?
換句話說,把連續(xù)的數(shù)字看成一個(gè)數(shù)字段(單個(gè)的數(shù)字也算一段),那么這樣的“段”有多少呢?
比如:"YYY5532XX6X78" 就包含3個(gè)數(shù)字段。
而,"45TTT7799M" 包含兩個(gè)數(shù)字段。
下面的程序解決了這個(gè)問題。
其思路是:每發(fā)現(xiàn)一個(gè)由字母到數(shù)字的“跳變”就計(jì)數(shù)。
請(qǐng)仔細(xì)閱讀源碼,提交劃線的位置缺少的代碼。
注意:
只提交劃線部分缺少的代碼,不要包含已經(jīng)存在的代碼或符號(hào)。
也不要畫蛇添足地寫出任何注釋或說明性文字。
public static void main(String[] args) {
String s = "YYY5532XX6X78";
boolean old_tag = false; // 表示開始不是數(shù)字
boolean tag = false;
int n = 0; // 數(shù)字組計(jì)數(shù)
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
tag = c>='0' && c<='9'; // 是否為數(shù)字
if(old_tag!=true&&tag==true) n++; //填空位置
old_tag = tag;
}
System.out.println(n);
}
答案:3