浙大 Java语言程序设计编程答案10.doc
文本预览下载声明
实验11 字符串处理
统计单词(选) 40031
输入一个正整数repeat (0repeat10),做repeat次下列运算:
输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。
例:括号内是说明
输入
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;iline.length();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);
}
}
}输出一个整数的各位数字(选) 40032
输入一个正整数repeat (0repeat10),做repeat次下列运算:
输入一个整数,从高位开始逐位输出它的各位数字。
输出语句: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;is.length();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;ics.length;i++)
System.out.print(cs[i]+ ); //依次输出字符数组cs的各个元素
求字符串长度输入一行以 # 结束的多串字符(不包含空格各串之间也用 # 进行间隔)。
统计并输出每串字符的长度。
输出使用:System.out.println(len);
例:括号内是
显示全部