Java统计输入字符的英文字母、空格、数字和其它

Java 统计输入字符的英文字母、空格、数字和其他字符可以使用字符流的方式读取输入,然后通过判断每个字符的 Unicode code point 值来区分字符类型,再统计出每种类型的字符个数。下面是具体实现的完整攻略。

实现步骤

  1. 创建一个字符缓冲区的读取器 BufferedReader,从标准输入读取输入等。
  2. 循环读取每个字符,直到读到输入流末尾。
  3. 对于每个字符,判断其 Unicode code point 值的范围,统计出它属于哪种类型的字符。
  4. 最后输出每种类型的字符个数。

以下是具体代码实现。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class CharTypeCount {
    public static void main(String[] args) throws IOException {
        // 创建缓冲区读取器
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        // 初始化统计变量
        int letterCnt = 0, spaceCnt = 0, digitCnt = 0, otherCnt = 0;

        // 循环读取每个字符
        int ch;
        while ((ch = reader.read()) != -1) {
            // 判断属于哪种类型的字符
            if (Character.isLetter(ch)) {
                letterCnt++;
            } else if (Character.isWhitespace(ch)) {
                spaceCnt++;
            } else if (Character.isDigit(ch)) {
                digitCnt++;
            } else {
                otherCnt++;
            }
        }

        // 输出每种类型的字符个数
        System.out.println("Letter: " + letterCnt);
        System.out.println("Space: " + spaceCnt);
        System.out.println("Digit: " + digitCnt);
        System.out.println("Other: " + otherCnt);
    }
}

示例说明

示例1

输入:

Hello, world!

输出:

Letter: 10
Space: 1
Digit: 0
Other: 1

解释:

该输入包含 10 个字母、1 个空格和 1 个其他字符。

示例2

输入:

123 456

输出:

Letter: 0
Space: 2
Digit: 6
Other: 0

解释:

该输入包含 2 个空格和 6 个数字。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java统计输入字符的英文字母、空格、数字和其它 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Java 基于tcp协议实现文件上传

    下面我来详细讲解一下Java基于tcp协议实现文件上传的完整攻略。 一、前置知识 在实现文件上传之前,需要具备以下知识: Java Socket编程基础知识 Java IO编程基础知识 文件上传的基本概念和流程 二、上传文件的流程 客户端连接服务器,向服务器发送需要上传的文件名、文件大小等信息 服务器接收到客户端发来的信息后,创建文件并打开输出流 客户端开始…

    Java 2023年5月19日
    00
  • SpringSecurity 默认表单登录页展示流程源码

    Spring Security 是 Spring 框架的安全模块,用于对应用的安全性进行配置和管理。Spring Security 提供了多种身份验证和授权方式,其中最常用的是表单登录方式。 Spring Security 的默认登录表单页面展示流程可以归纳为以下几个步骤: 1.用户访问需要进行身份认证的页面时,Spring Security 会检查用户是否…

    Java 2023年5月20日
    00
  • Java环境配置与编译运行详解

    Java环境配置与编译运行详解 环境配置 下载JDK安装包 JDK是Java Development Kit的缩写,是Java开发所必须的环境,我们需要从Oracle官网下载对应版本的JDK安装包。 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 安装JDK 运…

    Java 2023年5月20日
    00
  • Java NegativeArraySizeException异常解决方案

    我将为您讲解解决“Java NegativeArraySizeException异常”的完整攻略。 什么是NegativeArraySizeException异常? 首先,我们需要了解一下NegativeArraySizeException异常。它是Java中的一种运行时异常,当我们使用负数作为数组大小时,就会抛出这个异常。 解决方案 要解决Negative…

    Java 2023年5月27日
    00
  • Java类之间的关系图_动力节点Java学院整理

    Java类之间的关系图_动力节点Java学院整理 在Java编程中,我们经常需要对类之间的关系进行分析和描述。类之间的关系可以用关系图来表示。在本文中,我们将讲解如何绘制Java类之间的关系图。 步骤1: 了解UML类图 UML(Unified Modeling Language)是一种用于软件设计的标准图形化语言。其中,类图是UML中最基本和最常用的图之一…

    Java 2023年5月26日
    00
  • SpringBoot嵌入式Servlet容器与定制化组件超详细讲解

    SpringBoot嵌入式Servlet容器与定制化组件超详细讲解 本文将介绍SpringBoot中嵌入式Servlet容器的相关知识及如何定制化组件来实现对该容器的定制化配置。 嵌入式Servlet容器 在SpringBoot中,可以通过嵌入式Servlet容器来运行Web应用程序,而无需将其部署到外部容器中。嵌入式Servlet容器作为一个独立的进程,可…

    Java 2023年5月19日
    00
  • Mybatis动态SQL实例详解

    Mybatis动态SQL实例详解 Mybatis支持使用动态SQL构建更加灵活的SQL语句,可以根据传入的参数自动生成SQL语句,从而支持更加复杂的业务场景。 if标签 if标签用于判断某个条件是否成立,如果成立则执行相应的语句。 示例代码: <select id="getUserById" parameterType="…

    Java 2023年5月20日
    00
  • 详解java之redis篇(spring-data-redis整合)

    下面是详细讲解“详解java之redis篇(spring-data-redis整合)”的完整攻略。 概述 本篇文章主要介绍了如何在Java中使用Redis缓存,以及使用Spring Data Redis整合Redis。在文章中,会介绍到Redis的基础概念、安装和配置Redis环境、使用Redis缓存数据、以及使用Spring Data Redis实现缓存的…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部