实验11 字符串处理
1. 统计单词(选做) 40031
输入一个正整数repeat (0 输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。 例:括号内是说明 输入 2 (repeat=2) Reold building room 123 Programming is fun 输出 4 3 import java.util.Scanner; public class Test40031{ public static void main(String []args ){ int ri, repeat,count, word,i; String line; char c; Scanner in=new Scanner(System.in); repeat=(in.nextLine()).charAt(0)-'0'; for(ri=1; ri<=repeat; ri++){ line=in.nextLine(); /*---------*/ count=word=0; for(i=0;i c=line.charAt(i); //从字符串line中取出第i个字符,放入变量c if(c==32) word=0; //当前字符是空格,表示不是单词 else if(word==0){ //当前字符不是空格,同时word=0,表示新单词开始 word=1; count++; } } System.out.println( count); } } } 2. 输出一个整数的各位数字(选做) 40032 输入一个正整数repeat (0 输出语句:System.out.print(digit+\ 例:括号内是说明 输入 3 (repeat=3) 123456 -600 8 输出 1 2 3 4 5 6 6 0 0 8 import java.util.Scanner; public class Test40032{ public static void main(String []args ){ int ri, repeat; int digit; long n, temp, pow; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextLong(); /*---------*/ n=Math.abs(n); String s=String.valueOf(n); //把整数n转换成字符串 for(int i=0;i digit=s.charAt(i)-'0'; //从高位到低位依次得到一位数字 System.out.print(digit+\); //输出该位数字,再加一个空格 } System.out.println(); } } } 注意:若语句digit=s.charAt(i)-'0'; 改为 digit=s.charAt(i); 则变量digit的值为该字符的unicode编码。 // 解法2: n=Math.abs(n); char[] cs=String.valueOf(n).toCharArray(); //把整数n转换成字符串后存入字符数组cs,cs的元素就是n的每位数字 for(int i=0;i System.out.print(cs[i]+\); //依次输出字符数组cs的各个元素 3. 求字符串长度 输入一行以 # 结束的多串字符(不包含空格,各串之间也用 # 进行间隔)。 统计并输出每串字符的长度。 输出使用:System.out.println(len); 例:括号内是说明 输入: hello 12#abc+0# (连续输入2串字符“hello 12”和“abc+0”) 输出: 8 (“hello 12”的长度是8) 5 (“abc+0”的长度是5) import java.util.Scanner; public class Test60021{ public static void main(String []args){ int len,count,i,k; //变量count,k未用到 char ch; String str; Scanner in=new Scanner(System.in); str=in.next(); //对5月7日前建立的练习用in.nextLine(); /*---------*/ len=0; //保存当前字符串的长度 // count=0; //保存字符串个数,可以不写 for(i=0;i ch=str.charAt(i); //从字符串中逐个取出字符 if(ch=='#'){ //当前字符串结束了 System.out.println(len);//输出长度 // count++; //字符串增加1个,可以不写 len=0; //新的字符串要开始了 } else len++; //当前字符串长度加1 } } } // 解法2: String[] s=str.split(\); //s为字符串数组 for(i=0;i System.out.println(s[i].length()); 4. 统计大写辅音字母 输入一个正整数n (0 输入一行字符串,统计并输出字符串中大写辅音字母的个数