前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java字符串练习题4、统计一行字符串中所有的字符类型数量

java字符串练习题4、统计一行字符串中所有的字符类型数量

作者头像
红目香薰
发布2023-01-13 10:38:33
4520
发布2023-01-13 10:38:33
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode

java字符串练习题4、统计一行字符串中所有的字符类型数量

题目

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

解析,写个循环,挨个判断字符类型后进行归类统计数量即可,但是我们的统计方式可以分为两种,可以直接ASCII码来判断,也可以通过【Character】包装类来直接判断类型,这里【Character】包装类给了很全的符号类型判断方法。我在文末留给大家了。

测试字符串

akld akshdkja hsdha shda sodi9q7t8&*dsads

代码1:ASCII解题

package com.item.action;

import java.util.Scanner;

public class Demo {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 需要扫一行,包括空格,故而使用nextLine()
		String str = sc.nextLine();
		sc.close();
		// 将字符串转换为字符数组
		char[] array = str.toCharArray();
		int low = 0;
		int up = 0;
		int num = 0;
		int space = 0;
		int other = 0;
		for (char c : array) {
			if (c >= 'a' && c <= 'z') {
				low++;
			} else if (c >= 'A' && c <= 'Z') {
				up++;
			} else if (c >= '0' && c <= '9') {
				num++;
			} else if (c == ' ') {
				space++;
			} else {
				other++;
			}
		}
		System.out.println("小写字母有:" + low);
		System.out.println("大写字母有:" + up);
		System.out.println("数字有:" + num);
		System.out.println("空格有:" + space);
		System.out.println("其他字符有:" + other);
	}
}

效果展示: 

代码2:Character包装类解题

package com.item.action;

import java.util.Scanner;

public class Demo {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 需要扫一行,包括空格,故而使用nextLine()
		String str = sc.nextLine();
		sc.close();
		// 将字符串转换为字符数组
		char ch[] = str.toCharArray();
		int zifu = 0;
		int num = 0;
		int space = 0;
		int other = 0;
		for (int i = 0; i < str.length(); i++) {
			if (Character.isLetter(ch[i])) {
				zifu++;
			} else if (Character.isDigit(ch[i])) {
				num++;
			} else if (Character.isWhitespace(ch[i])) {
				space++;
			} else {
				other++;
			}
		}
		System.out.println("字母数有:" + zifu);
		System.out.println("数字有:" + num);
		System.out.println("空格有:" + space);
		System.out.println("其他字符有:" + other);
	}
}

效果展示:

Character包装类函数

isDigit(ch) 如果指定字符是一个数字,返回true isLetter(ch) 如果指定字符是一个字母,返回true isLetterOrDigit(ch) 如果指定字符是一个数字或者字母,返回true isLowerCase(ch) 如果指定字符是一个小写字母,返回true isUpperCase(ch) 如果指定字符是一个大写字母,返回true isWhitespace() 如果指定字符是一个空格,返回true isValidCodePoint() 确定指定的代码点是否为从 0x0000 到 0x10FFFF 范围之内的有效 Unicode 代码点值 isDefined() 确定字符是否被定义为 Unicode 中的字符 isISOControl() 确定指定字符是否为 ISO 控制字符 isIdentifierIgnorable() 确定是否应该认为指定字符是 Java 标识符或 Unicode 标识符中可忽略的一个字符

希望能对大家有所帮助,如果对包装类不理解的可以先去搜索一下,后面将集合的时候我会对包装类进行具体的内容讲解。

我这里先留下一个概述,可以根据概述进行一个小小的理解:

包装类

Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。

八种基本数据类型的包装类 

  1. boolean —> Boolean
  2. char —> Character
  3. byte—> Byte
  4. short—> Short
  5. long—>Long
  6. int —> Integer
  7. float—> Float
  8. double—> Double

包装类是自动装箱与拆箱的,也就是通过包装类可以将基本数据类型与对象类型直接进行类型切换,很方便快捷高效,具体的我们会在讲解集合的时候进行实操与讲解。 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • java字符串练习题4、统计一行字符串中所有的字符类型数量
  • 题目
  • 测试字符串
  • 代码1:ASCII解题
  • 代码2:Character包装类解题
  • Character包装类函数
  • 包装类
    • 八种基本数据类型的包装类 
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档