版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验11 字符串处理1. 统计单词(选做) 40031输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。例:括号内是说明输入2 (repeat=2)Reold building room 123 Programming is fun输出43 import java.util.Scanner;public class Test40031 public static void main(String args ) int ri, repeat,count, word,i; Stri
2、ng 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<line.length();i+)c=line.charAt(i); /从字符串line中取出第i个字符,放入变量cif(c=32) word=0; /当前字符是空格,表示不是单词 else if(word=0) /当前字符不是空格,同时word
3、=0,表示新单词开始 word=1; count+; System.out.println( count); 2. 输出一个整数的各位数字(选做) 40032输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个整数,从高位开始逐位输出它的各位数字。输出语句:System.out.print(digit+" ");例:括号内是说明输入3 (repeat=3) 123456-6008输出1 2 3 4 5 66 0 08import java.util.Scanner;public class Test40032 public
4、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<s.length();i+) digit=s.charAt(i)-'0
5、9; /从高位到低位依次得到一位数字 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<cs.length;
6、i+) System.out.print(csi+" "); /依次输出字符数组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
7、 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<str.length();i+) ch=str.charAt(i); /从字符串中逐个取出字符 if(ch='#') /当前字符串结束了 Syste
8、m.out.println(len);/输出长度/ count+; /字符串增加1个,可以不写 len=0; /新的字符串要开始了 else len+; /当前字符串长度加1 / 解法2: String s=str.split("#"); /s为字符串数组 for(i=0;i<s.length;i+) System.out.println(si.length(); 4. 统计大写辅音字母输入一个正整数n (0<n<10),做n次下列运算:输入一行字符串,统计并输出字符串中大写辅音字母的个数(大写辅音字母:除“A”,“E”,“I”,“O”,“U”以外的大写字
9、母)。例:括号内是说明输入:3 (输入3个字符串)HELLOIT12uieiaba输出:3 ("HELLO"中有3个大写辅音字母)1 ("IT12"中有1个大写辅音字母) 0 ("uieiaba"中没有大写辅音字母) import java.util.Scanner;public class Test60022 public static void main(String args) int count,i,j,n; char ch; String str; Scanner in=new Scanner(System.in); n=(
10、in.nextLine().charAt(0)-'0' /读取输入的第1行的第1个字符,转换成数值 for(i=1;i<=n;i+) str=in.nextLine(); /读取输入的下一行 /*-*/ count=0; /保存大写辅音字母的个数 for(j=0;j<str.length();j+) ch=str.charAt(j); /从字符串中逐个取出字符 if(ch>='B'&&ch<='Z')&&(ch!='E'&&ch!='I'&am
11、p;&ch!='O'&&ch!='U')/判断 /大写字母'B''Z'中去掉'E','I','O','U' count+; System.out.println(count); 5. 查找字符先输入一个字符ch。然后输入一个正整数n (0<n<10),做n次下列运算:输入一行字符串,在字符串中查找该字符(ch),如果找到,则输出该字符在字符串中最后出现的位置(从0开始);否则输出“Not Found”。例:括号内是说明输入:m (输
12、入一个字符)3 (要输入3行字符串)moonprogramming1234 输出:0 (m在"moon"中最后出现位置是0)7 (m在"programming"中最后出现位置是7)Not Found ("1234"中没有m)import java.util.Scanner;public class Test60023 public static void main(String args) int index,i,n,j; char ch; String str; Scanner in=new Scanner(System.in);
13、ch=(in.nextLine().charAt(0); /读取输入的第1行的第1个字符,就是要查找的字符 n=(in.nextLine().charAt(0)-'0' /读取输入的第2行的第1个字符,转换成数值 for(i=1;i<=n;i+) str=in.nextLine(); /读取输入的下一行 /*-*/从字符串末尾开始找字符ch,第1次找到时记住它的位置,终止循环。 index=-1; /先假设没找到 for(j=str.length()-1;j>=0;j-) if(str.charAt(j)=ch) index=j;break; if(index>
14、;=0) System.out.println(index); else System.out.println("Not Found"); /解法2:从当前字符串中找字符ch,找到时记住它的位置,继续找下一个,/ 循环结束后,index中的值就是最后出现的位置。 index=-1; /先假设没找到 for(j=0;j<str.length();j+) if(str.charAt(j)=ch) index=j;6. 字符串替换输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一行字符串,生成一个新的字符串,将原字符串中的大
15、写字母用下面列出的对应大写字母替换, 其余字符不变, 输出新字符串. 原字母 对应字母 A Z B Y C X D W X C Y B Z A例:括号内是说明输入:3 (输入3行字符串)A flag of USAIT12oueiaba输出:Z flag of FHZRG12oueiabaimport java.util.Scanner;public class Test60024 public static void main(String args) int ri, repeat, i; char ch; String str1,str2; Scanner in=new Scanner(System.in); repeat=(in.nextLine().charAt(0)-'0' for(ri=1; ri<=repeat; ri+) str1=in.nextLine(); /*-*/ str2="" /保存转换后的新字符串 for(i=0;i<str1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业消防安全自查报告
- 心理变态精神测试题目及答案
- 行政执法人员综合法律知识测试题及答案
- 应急供货方案及措施
- 油库消防安全知识题及答案
- 执法人员考试试题及答案
- 职业技能鉴定国家题库管道工考试试题及答案
- 中国武术段位制理论考试试卷及答案
- 种子学加工与贮藏题库及答案
- 2025年广东省云浮市七年级政治上册期中考试试卷及答案
- 2026年8月预防接种服务规范培训考试题及答案
- 2026年社保经办人员业务考试题库及答案
- 《中国痔病诊疗指南(2025版)》
- 黎族舞蹈教学课件
- 体检科管理制度
- 通站(2017)8012 铁路站场排水构筑物
- 统编版(2024新版)三年级上册道德与法治教学计划
- 字体设计(上海出版印刷高等专科学校)智慧树知到答案2024年上海出版印刷高等专科学校
- 9步达到财务自由
- 护理操作无菌技术课件
- 高级中学学生军事训练教程(中职版)PPT完整全套教学课件
评论
0/150
提交评论