浙大Java语言程序设计编程详解10.docx
- 文档编号:13732140
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:10
- 大小:17.19KB
浙大Java语言程序设计编程详解10.docx
《浙大Java语言程序设计编程详解10.docx》由会员分享,可在线阅读,更多相关《浙大Java语言程序设计编程详解10.docx(10页珍藏版)》请在冰点文库上搜索。
浙大Java语言程序设计编程详解10
实验11字符串处理
1.统计单词(选做)40031
输入一个正整数repeat(0 输入一行字符,统计其中单词的个数。 各单词之间用空格分隔,空格数可以是多个 例: 括号内是说明 输入 2(repeat=2) Reoldbuildingroom123 Programmingisfun 输出 4 3 importjava.util.Scanner; publicclassTest40031{ publicstaticvoidmain(String[]args){ intri,repeat,count,word,i; Stringline; charc; Scannerin=newScanner(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;//当前字符是空格,表示不是单词 elseif(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 输出 123456 600 8 importjava.util.Scanner; publicclassTest40032{ publicstaticvoidmain(String[]args){ intri,repeat; intdigit; longn,temp,pow; Scannerin=newScanner(System.in);repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ */ n=in.nextLong(); /* n=Math.abs(n); Strings=String.valueOf(n);II把整数n转换成字符串 for(inti=0;i digit=s.charAt(i)-'O';II从高位到低位依次得到一位数字 System.out.print(digit+"”);II输出该位数字,再加一个空格 } System.out.println(); } } } 注意: 若语句digit=s.charAt(i)-'O';改为digit=s.charAt(i); 则变量digit的值为该字符的unicode编码。 II解法2: n=Math.abs(n); char[]cs=String.valueOf(n).toCharArray(); II把整数n转换成字符串后存入字符数组cs,cs的元素就是n的每位数字 for(inti=O;i System.out.print(cs[i]+"");II依次输出字符数组cs的各个元素 3.求字符串长度 输入一行以#结束的多串字符(不包含空格,各串之间也用#进行间隔) 统计并输出每串字符的长度。 输出使用: System.out.println(len); 例: 括号内是说明 abc+0”) 输入: hello12#abc+0#(连续输入2串字符“hello12”和“ 输出: 8(“hello12”的长度是 5(“abc+0”的长度是5) importjava.util.Scanner; publicclassTest60021{ publicstaticvoidmain(String[]args){ intlen,count,i,k;//变量count,k未用至U charch; Stringstr; Scannerin=newScanner(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;//新的字符串要开始了 } elselen++;//当前字符串长度加1 } } } //解法2: String[]s=str.split("#");//s为字符串数组 for(i=0;i System.out.println(s[i].length()); 4.统计大写辅音字母 输入一个正整数n(0 输入一行字符串,统计并输出字符串中大写辅音字母的个数 (大写辅音字母: 除“A”,“E”,“I”,“o”,“U”以外的大写字母 例: 括号内是说明 输入: 3(输入3个字符串) HELLO IT12 uieiaba 输出: 3("HELLO"中有3个大写辅音字母) 1("IT12"中有1个大写辅音字母) 0("uieiaba"中没有大写辅音字母) importjava.util.Scanner; publicclassTest60022{ publicstaticvoidmain(String[]args){ intcount,i,j,n; charch; Stringstr; Scannerin=newScanner(System.in); n=(in.nextLine()).charAt(0)-'0';//读取输入的第1行的第1个字符,转换成数值for(i=1;i<=n;i++){ str=in.nextLine();//读取输入的下一行 for(j=O;j ch=str.charAt(j);//从字符串中逐个取出字符if((ch>='B'&&ch<='Z')&&(ch! ='E'&&ch! =T&&ch! ='O'&&ch! ='U'))〃 判断 //大写字母'B'~'Z'中去掉'E',T,'O','U' count++; } System.out.println(count); } } } 5.查找字符 先输入一个字符ch。 然后输入一个正整数n(0 输入一行字符串,在字符串中查找该字符(ch),如果找到,则输出该字符在字符串中最后出现的位置(从0开始);否则输出“NotFound”。 例: 括号内是说明 输入: 3(要输入3行字符串) moon programming 1234 输出: 0(m在"moon"中最后出现位置是0) 7(m在"programming"中最后出现位置是7) NotFound("1234"中没有m) importjava.util.Scanner; publicclassTest60023{ publicstaticvoidmain(String[]args){ intindex,i,n,j; charch; Stringstr; Scannerin=newScanner(System.in); ch=(in.nextLine()).charAt(0);//读取输入的第1行的第1个字符,就是要查找的字符n=(in.nextLine()).charAt(0)-'0';//读取输入的第2行的第1个字符,转换成数值for(i=1;i<=n;i++){ str=in.nextLine();//读取输入的下一行 index=-1;//先假设没找到 for(j=str.length()-1;j>=O;j--){ if(str.charAt(j)==ch) {index=j;break;} } if(index>=0)System.out.println(index);elseSystem.out.println("NotFound"); } } } //解法2: 从当前字符串中找字符ch,找到时记住它的位置,继续找下一个,//循环结束后,index中的值就是最后出现的位置。 index=-1;//先假设没找到 for(j=0;j if(str.charAt(j)==ch)index=j; 6.字符串替换 输入一个正整数repeat(0 输入一行字符串,生成一个新的字符串,将原字符串中的大写字母用下面列出的对应大写字母替换 其余字符不变,输出新字符串. 原字母对应字母 A>Z B>Y C>X D>W X>C Y>B Z>A 例: 括号内是说明 输入: 3(输入3行字符串) AflagofUSA IT12 oueiaba 输出: ZflagofFHZ RG12 oueiaba importjava.util.Scanner; publicclassTest60024{ publicstaticvoidmain(String[]args){ intri,repeat,i; charch; Stringstr1,str2; Scannerin=newScanner(System.in); repeat=(in.nextLine()).charAt(0)-'0'; for(ri=1;ri<=repeat;ri++){ str1=in.nextLine(); str2="";II保存转换后的新字符串 for(i=0;i ch=str1.charAt(i);II从字符串中逐个取出字符if((ch>='A'&&ch<='Z'))II对该字符进行转换ch=(char)('Z'-ch+'A'); str2=str2+ch;II转换后字符添加到结果中 } System.out.println(str2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙大 Java 语言程序设计 编程 详解 10