1.题目:输入一行字符,分别统计出其英文字母、空格、数字 和其它字符的个数。
package cn.oop.program;
import java.util.Scanner;
/**
* 题目:输入一行字符,分别统计出其英文字母、空格、数字
* 和其它字符的个数。
* @author 温暖wk
* 2018.8.15
*
*char字符ASK码的范围
(1)数字0到9: 48~57
(2)字母A到Z:65到90 a到z:97到122
(3)空格是32
*/
public class Test01 {
public static void main(String[] args) {
int num=0;
int letter=0;
int space=0;
int others=0;
System.out.println("输入一行字符串:");
Scanner s=new Scanner(System.in);
String s1=s.nextLine();
char arr[]=s1.toCharArray();
for(int i=0;i<arr.length;i++) {
if(arr[i]>=48 && arr[i]<=59) {
num++;
}else if((arr[i]>=65 && arr[i]<=90) ||(arr[i]>=97 && arr[i]<=122)){
letter++;
}else if(arr[i]==32) {
space++;
}else {
others++;
}
}
System.out.println("数字:"+num+"个");
System.out.println("字母:"+letter+"个");
System.out.println("空格:"+space+"个");
System.out.println("其它:"+others+"个");
s.close();
}
}
2.题目:输入一个字符串,统计每个单词出现的次数。
package cn.oop.program;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* 题目:输入一个字符串,统计每个单词出现的次数
* @author 温暖wk
* 2018.8.15
*
*/
public class Test02 {
private static void test1(String str) {
String[] strAll=str.split(" ");
Map<String,Letter> letter = new HashMap<String, Letter>();
for(String key:strAll)
{
Letter col=null;
if(null ==(col=letter.get(key)))
{
col = new Letter();
col.count = 1;
letter.put(key, col);
}
else
{
col.count++;
}
}
Set<String> keys = letter.keySet();
for(String key:keys)
{
Letter col = letter.get(key);
System.out.println("单词:"+key+" 出现了:"+col.count+"次");
}
}
public static void main(String[] args) {
String str = "山 上 有 个 庙 庙 里 有 个 老 和 尚 ";
test1(str);
}
}
class Letter{
public String word;
public int count;
}