package com.ith.study;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringCountDemo {
public static void main(String []args) {
String strTest1= "a它从添加位置开始在输入序列读取字符,并将其添加到给定字符串缓冲区。在读取以前匹配之前的最后字符(即位于索引 start() - 1 处的字符)之后,它就会停止。"
+ "它将给定替换字符串添加到 位置设置为最 ))包括进来。"
+ " 和美元符号 ($) 可能导致与作为字面值替换字符串时所产生的结果不同。美元符号可视为到如上所述已捕获子序列的引用,反斜线可用于转义替换字符串中的字面值字符。"
+ "此方法设计用于循环以及 appendTail 和 find 方法中。例如,以下代码将 one dog two dogs in the yard 写入标准输出流中:"
+ " Pattern p = Pattern.compile(cat);"
+ " Matcher m = p.matcher('one cat two cats in the yard');"
+ " StringBuffer sb = new StringBuffer();;"
+ " while (m.find()) {"
+ " m.appendReplacement(sb, 'dog');"
+ "}"
+ "m.appendTail(sb);";
//方法一:利用正则表达式,匹配字符串中小写a-z的字符个数或大写A-Z的字符个数,其他非字符的个数
System.out.println("尚未计算空格,等等;;;;计算字符串有多少个字符"+strTest1.length());
int lowerNum=0,upperNum=0,otherNum=0;
Pattern paternLower = Pattern.compile("[a-z]");
Pattern paternUpper = Pattern.compile("[A-Z]");
Matcher mchLower = paternLower.matcher(strTest1);
Matcher mchUpper = paternUpper.matcher(strTest1);
for(int i=0;i<strTest1.length();i++) {
if(mchLower.find()) {
lowerNum++;
}
else if(mchUpper.find()) {
upperNum++;
}
else
{
otherNum++;
}
}
System.out.println("小写字符有:"+lowerNum);
System.out.println("大写字符有:"+upperNum);
System.out.println("其他字符有:"+otherNum);
//方法二:使用charAt()方法读取字符串中每一个字符值,在把每个字符值和a-z比较,是否符合在这个值中,然后累加计数
//在把每个字符值和A-Z比较,是否符合在这个值中,然后累加计数
System.out.println("================方法二方法二方法二=================");
int ilowerNum=0,iupperNum=0,iotherNum=0;
for(int i=0;i<strTest1.length();i++) {
char chr = strTest1.charAt(i); //charAt获取字符串中指定的单个字符。
if(chr >= 'a' && chr <= 'z') {
ilowerNum++;
}
else if(chr >= 'A' && chr <= 'Z') {
iupperNum++;
}
else
{
iotherNum++;
}
}
System.out.println("小写字符有:"+ilowerNum);
System.out.println("大写字符有:"+iupperNum);
System.out.println("其他字符有:"+iotherNum);
//方法三:首先使用charAt分离出字符串中的每个字符,在使用Character.isLowerCase 或isUpperCase 判断是否在区域内。 然后累计数字
System.out.println("==================方法三方法三方法三==============");
int ilowerNum3=0,iupperNum3=0,iotherNum3=0;
for(int i=0;i<strTest1.length();i++) {
char chr = strTest1.charAt(i); //charAt获取字符串中指定的单个字符。
if(Character.isLowerCase(chr)) {
ilowerNum3++;
}
else if(Character.isUpperCase(chr)) {
iupperNum3++;
}
else
{
iotherNum3++;
}
}
System.out.println("小写字符有:"+ilowerNum3);
System.out.println("大写字符有:"+iupperNum3);
System.out.println("其他字符有:"+iotherNum3);
//方法四: 使用indexOf函数,此处就不在写代码了,明白就好。
}
}
分享到:
相关推荐
根据给定的信息,以下是从标题、描述以及部分内容中提取并扩展出的...通过以上练习,初学者可以在实践中掌握Java语言的基础语法、流程控制、数组操作、字符串处理等核心概念和技术要点,为深入学习Java打下坚实的基础。
"Java统计一个字符串在另外一个字符串出现次数的方法" 本文主要介绍了Java统计一个字符串在另外一个字符串出现次数的方法,涉及java字符串遍历、正则匹配等相关操作技巧。下面将详细介绍相关知识点: 一、Java字符...
### JAVA练习题知识点详解 #### 1. 斐波那契数列 通过`for`循环打印斐波那契数列的前100项。斐波那契数列定义为:第一项与第二项均为1,后续每一项都是前两项之和(如1, 1, 2, 3, 5, 8, 13, 21...)。 ```java int...
在Java编程领域,统计数字问题是常见的算法设计挑战之一。这个任务要求我们计算从1到一个给定整数n(包括1和n)之间所有整数中,0到9这十个阿拉伯数字出现的次数。这样的问题有助于提升我们对数字处理、循环逻辑以及...
java初级、中级练习题,检测一下基础 - Java - Java SE是个不错的资源
### Java编程练习题知识点解析 #### 知识点1:完数的概念及寻找方法 - **定义**:完数(Perfect Number),又称完美数、完备数,是指一个正整数等于其所有真因子(即除了自身以外的因子)之和。如6 = 1 + 2 + 3。 -...
总的来说,"简单的电话号码统计程序(Java)"是一个典型的初级编程项目,涵盖了基础的文件处理、数据结构、字符串操作和统计分析等核心编程概念,同时也体现了良好的编程实践。对于初学者来说,这是一个很好的学习和...
总之,这个Java打字练习程序涉及到GUI设计、事件处理、时间管理、字符串操作、错误处理等多个Java编程基础及高级概念。通过这个项目,开发者可以提升自己的Java编程技能,同时理解如何将这些技术应用于实际问题中。
在Java中进行字符统计是一个常见的编程练习,涉及到对输入字符串中不同字符类型的识别和计数。本知识点将详细解释如何使用Java语言来实现对输入字符串中的英文字母、空格、数字以及其他字符的统计,包括代码逻辑和...
Java 字符串词频统计实例代码提供了一个完整的词频统计解决方案,涵盖了数据预处理、词频统计和结果排序三个阶段。该代码可以作为自然语言处理和信息检索领域的参考实现,帮助开发者快速实现词频统计功能。
- **知识点**:统计字符串中特定字符的数量。 - **实现方法**: - 使用while循环逐个读取字符串中的字符。 - 当读取到指定字符时,计数器加1。 - 循环结束时返回计数器的值。 #### 8. 数字序列求和 - **知识点**...
### JAVA循环练习题知识点解析 #### 1. 斐波那契数列生成 ...以上练习题覆盖了JAVA编程中的循环结构、条件判断、数组操作、字符串处理、数学运算等多个方面,旨在全面锻炼和提升学习者的编程技能。
2. 素数判断:给定三个数,同时判断它们是否能被 3、5、7 整除。 3. 累加和计算:使用 while 循环、do…while 循环和 for 循环计算 100~200 的累加和。 4. 数组操作:统计数组中的奇数和偶数的个数,将非零元素存入...
本资源提供了 50 道 Java 基础编程练习题,涵盖了 Java 编程的多个方面,包括数据类型、运算符、控制结构、函数、数组、字符串等。这些练习题可以帮助初学 Java 编程的开发者更好地理解 Java 语言的基础概念和编程...
统计完成后,计算总字符数,并将每个字母的计数除以总数得到概率。 ```java Map, Integer> counts = new HashMap(); // ... 更新counts ... int totalChars = counts.values().stream().mapToInt(Integer::intValue...
4. **解题指南**:可能包含字符统计问题的常见算法或技巧,例如使用哈希表、数组或字典来高效地统计字符出现次数。 5. **评估标准**:关于时间复杂度和空间复杂度的要求,以及可能的优化建议。 6. **讨论区链接**:...
【程序7】统计字符串中字符类型,需要用到字符分类和计数,可以使用while循环配合条件判断来实现。 【程序8】计算s的值,关键在于如何生成每个项,可以使用字符串拼接或者数学公式计算每项的值。 【程序9】寻找...
本文将详细讲解如何实现一个程序,输入一行字符并分别统计其中的英文字母、空格、数字以及其他字符的数量。这个任务涉及到基础的字符处理、条件判断以及计数技巧,对于学习编程特别是数据结构的理解有很大帮助。 ...
### Java算法练习题知识点解析 #### 1. 斐波那契数列 - **描述**:编写一个程序,计算斐波那契数列的前N项。 - **实现思路**: - 使用循环结构(如`for`循环)来依次计算每一项的值。 - 设置两个变量分别存储...