一生一世陪你


私信TA

用户名:wodeshijie

访问量:22503

签 名:

我要好好地写代码..........

等  级
排  名 424
经  验 4822
参赛次数 1
文章发表 19
年  龄 10
在职情况 学生
学  校 河南农业大学
专  业

  自我简介:

我就是我,可能不是太好,但是我就是我,谁也不能取代........

解题思路:

        该题是用来求一个字符串其中的字母个数、空格个数、数字的个数以及其他字符的个数
     这样的话我们先分析题意,我们可以把一个字符串转化为一个字符数组,转化为字符数组之后
     我们可以通过用一个for循环来遍历这个字符数组里面的所有字符,但是我们需要知道它是字母
     空格 数字又或是其他字符,我们知道的可能是ASCII码表的值,那样我们可以再定义一个整型
     的数组用来存储字符数组中的每一个字符的强制转化为整型的值,通过来比较ASCII的范围再来
     确定他们的个数.....





注意事项:

其中首先要知道的是字符串转化为一个字符数组方法是toCharArray(),之后是要知道字母的范围和数字
的范围还有空格的范围,他们的范围如下
            a-z:97-122
            A-Z:65-90
            0-9:48-57

参考代码:

import java.util.Scanner;
public class L1063 {
public static void main(String[] args) {
	Scanner m=new Scanner(System.in);
	String str;
	str=m.nextLine();
	char a[]=new char[str.length()];
	a=str.toCharArray();
	int s[]=new int[str.length()];
	int count1=0,count2=0,count3=0,count4=0;
	for(int i=0;i<a.length;i++)
	{
		s[i]=(int)a[i];
	if((s[i]>=65&&s[i]<=90)||(s[i]>=97&&s[i]<=122))
		count1++;
	else if(s[i]==32)
		count2++;
	else if(s[i]>=48&&s[i]<=57)
		count3++;
	else
		count4++;
	}
	System.out.println(count1);
	System.out.println(count2);
	System.out.println(count3);
	System.out.println(count4);
}
}

这个代码是和上面的思路连接在一起的,相信应该可以看得懂,如果看不懂得话,请把你的疑问给我写在

下面,我会为你详细解答,谢谢。

 

0.0分

0 人评分

  评论区