package Day27;
import java.util.*;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
//长教训,输入时,next与nextLine区别,next()扫描字符串时遇到空格和回车时自动终止,只识别前边的后边的不能识别,也就是说next无法输入带空格的字符串
//nextLine()结束的有效字符只有回车
//String str = sc.next();//输入字符串
String str = sc.nextLine();//输入字符串
char[] c=str.toCharArray();
for(int i=0;i<str.length();i++)
{
if(!(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z'||c[i]>='0'&&c[i]<='9'||c[i]==32))//str.contains(" ")
//特别值得自己注意的是判断空格的是可以根据字符串对象的contains函数或者根据空格的字符Unicode码是32来判断
{
System.out.println("重新输入");
str = sc.nextLine();//输入字符串
}
}
//输入需要查找的字符
System.out.println("输入字符");
String ch1=sc.next();//输入字符
char ch=ch1.charAt(0);
fun(str, ch);
}
public static void fun(String str,char ch)
{
int count = 0;
char[] arr=str.toCharArray();
for(int i=0;i<str.length();i++)
{
if( arr[i]==ch||arr[i]+32==ch||arr[i]-32==ch)
//对输入字符大小写的匹配与判断
{
count++;
}
}
System.out.println(count);
}
}
问题描述:写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。