目录
前言
本文章介绍如何判断输入字符串中各个字符的类型,并且进行数量的统计,按类输出不同的字符。
一、使用的方法介绍
scanner():用来进行字符串的输入
str.charAt(i):用来返回字符串的每一个字符
二、代码实现
思考方式:
将字符串进行循环遍历,然后使用类型强制转换,判断字符的类型,而后将不同的字符的数量进行统计和放入相应的数组
代码实现如下:
package com.jufe.demo1;
import java.util.Scanner;
public class blog
{
public static void main(String[] args)
{
//从键盘中输入一个字符串
Scanner sc=new Scanner(System.in);
System.out.print("请输入一串字符串:");
String str=sc.next();
//定义四个变量,分别用于统计四个不同字符的各自的数量
int a=0,b=0,c=0,d=0;
//定义四个数组,将四种不同的字符分别存储在数组中,方便后面的打印输出
char []arr1=new char[10];char []arr2=new char[10];char []arr3=new char[10];char []arr4=new char[10];
//使用循环,使用charAt()方法,将字符串中的每一个字符依次提取出来,然后进行强制数据转换
//使用ASCII码表来判断字符的类型,并将相应的字符存储到对应的数组中,而后进行统一的输出
for(int i=0;i<str.length();i++)
{
if((int)str.charAt(i)>=48&&(int)str.charAt(i)<=57)
{
arr1[a]=str.charAt(i);
a++;
}
else if((int)str.charAt(i)>=97&&(int)str.charAt(i)<=122)
{
arr2[b]=str.charAt(i);
b++;
}
else if((int)str.charAt(i)>=65&&(int)str.charAt(i)<=90)
{
arr3[c]=str.charAt(i);
c++;
}
else
{
arr4[d]=str.charAt(i);
d++;
}
}
//输出每一种字符的数量,并且按照分类打印出来
System.out.print("数字字符一共有:"+a+"个,分别为:");
for(int i=0;i<a;i++)
System.out.print(arr1[i]+" ");
System.out.print("\n小写字符一共有:"+b+"个,分别为:");
for(int i=0;i<b;i++)
System.out.print(arr2[i]+" ");
System.out.print("\n大写字符一共有:"+c+"个,分别为:");
for(int i=0;i<c;i++)
System.out.print(arr3[i]+" ");
System.out.print("\n其它字符一共有:"+d+"个,分别为:");
for(int i=0;i<d;i++)
System.out.print(arr4[i]+" ");
}
}
2.代码结果展示
结果如下:
请输入一串字符串:123QWEswe12!@
数字字符一共有:5个,分别为:1 2 3 1 2
小写字符一共有:3个,分别为:s w e
大写字符一共有:3个,分别为:Q W E
其它字符一共有:2个,分别为:! @
进程已结束,退出代码0