java字符串练习题4、统计一行字符串中所有的字符类型数量
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包。
八种基本数据类型的包装类
- boolean —> Boolean
- char —> Character
- byte—> Byte
- short—> Short
- long—>Long
- int —> Integer
- float—> Float
- double—> Double
包装类是自动装箱与拆箱的,也就是通过包装类可以将基本数据类型与对象类型直接进行类型切换,很方便快捷高效,具体的我们会在讲解集合的时候进行实操与讲解。
相关文章
- java mediatype utf-8_Java MediaType.APPLICATION_JSON_UTF8屬性代碼示例
- java数组反转,Java数组反转
- java i586什么意思_linux里面i386 i686 i486 i586代表什么?是什么意思
- java启动器_JAVA基础:Java 启动器如何查找类
- java中Scanner类用法的详解[通俗易懂]
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- Java的定时器_JAVA定时任务
- 微信开发SDK java版,支持maven;微信Java开发工具包,支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能模块的后端开发。
- Java多态理解_什么是java多态
- java inputstreamreader类详解_inputstreamreader是什么流
- java 常量表达式,需要常量表达式? (Java switch语句)[通俗易懂]
- JAVA代码审计之java反序列化
- java查找字符的方法_Java字符串查找(3种方法)
- 学Java又想搞副业,你确定不来了解一下?文尾更精彩噢
- Java中抽象类简单介绍
- Java 毕业设计,基于 SpringBoot 的高校招生管理系统
- docker部署java程序获取的时间与系统时间不一致详解程序员
- Java 正则表达式最简单的例子详解编程语言
- java使用IMAP连接Gmail并解析邮件详解编程语言
- Java学习笔记之三java中的变量和常量详解编程语言
- Java统计目录文件下行数的总和,注释行数的总和,空行数总和详解编程语言
- Java实现嵌入式MySQL的新解决方案(java嵌入式mysql)
- Java程序员的MySQL数据库之旅(java操作mysql数据库)
- 安装Oracle JDK 从Java进入下一个级别(oracle下载java)
- java中equals和等号(==)的区别浅谈
- Java中统计字符个数以及反序非相同字符的方法详解
- JAVA中寻找最大的K个数解法