首页 > 编程语言 >Java小练习--统计字符串中字母和数字的个数

Java小练习--统计字符串中字母和数字的个数

时间:2023-03-05 21:13:37浏览次数:43  
标签:Java Scanner -- 个数 System int othernum charAt

题目

统计字符串中字母和数字的个数

完整代码

package test
import java.util.Scanner;

public class customer1 {

public static void main(String args[]) {
System.out.println("请输入要统计的字符串");
	Scanner sc=new Scanner(System.in);
	String b=sc.nextLine();
	int charnum=0;
	int numnum=0;
	int othernum=0;
		for(int i=0;i<b.length();i++) {
			if(b.charAt(i)>='a'&& b.charAt(i)<='z') {
				charnum++;
			}else if(b.charAt(i)>='0'&& b.charAt(i)<='9'){
				numnum++;
			}else {
				othernum++;
			}
		}
		System.out.println("字母的个数是"+charnum);	
		System.out.println("数字的个数是"+numnum);	
		System.out.println("其他字符的个数是"+othernum);
	
	}
}

运行结果

请输入要统计的字符串
ahoem;b,ip1pem;2,3o2u;,3oi394
字母的个数是15
数字的个数是8
其他字符的个数是6

过程解析

import java.util.Scanner;导入Java.util包 ,我们后面需要使用Scanner类,使用这个方法需要导入java.util包
System.out.println("请输入要统计的字符串");这是一个提示语,我们下面会用Scanner输入一个字符串,所以先写这个,提示我们去输入什么内容。一般我们再写Scanner时都会用System类的一个方法去进行提示
Scanner sc=new Scanner(System.in);创建一个Scanner类的对象,类似 peason p=new peason();这样就好理解一些了。
String b=sc.nextLine();调用sc的nextLine()方法。sc是Scanner类的对象,可以调用Scanner的方法。
int charnum=0;初始化字母数为0
int numnum=0;初始化数字数为0
int othernum=0;初始化其他字符数为0
for(int i=0;i<b.length();i++) {for循环 每次循环后i++,i最大值小于b.length()
if(b.charAt(i)>='a'&& b.charAt(i)<='z') {if判断,b.charAt(i)是指b这一字符串的第i个字符是什么,条件判断是该字符处于'a'到'z'
charnum++;符合条件的话charnum加一
}else if(b.charAt(i)>='0'&& b.charAt(i)<='9'){该字符处于'0'到'9'之间
numnum++;符合条件的话nunnum加一
}else {其他情况归到else中
othernum++;othernum加一
System.out.println("字母的个数是"+charnum);打印结果
System.out.println("数字的个数是"+numnum);
System.out.println("其他字符的个数是"+othernum);
注:如果字符为中文,则归到othernum中

结语

道路千千万,大家如果有好的解题方法的话,可以在评论区留言哦~

标签:Java,Scanner,--,个数,System,int,othernum,charAt
From: https://www.cnblogs.com/iampigeon/p/17181662.html

相关文章

  • 一篇文章弄懂时间复杂度
    写在前面关于时间复杂度从学习数据结构开始就已经接触到,但是一直没有完全弄明白。时间复杂度贯穿着数据结构和算法的学习过程,不论是算法竞赛还是面试题目都会遇到关于时......
  • 实验一
    实验任务1task1-1.c程序源码#include<stdio.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf("o\n");printf("<H>......
  • APP学习6(RecycleView)
    1.RecycleViewAndroid5.0之后提供的用于在有限的窗口范围内显示大量数据的控件。与ListView相比,展示效果、适配器更好。代码:activity_main.xml<?xmlversion="1.0"......
  • Oracle:层级查询
    Oracle中使用STARTWITH...CONNECTBYPRIOR...层级查询,查询出所有的层级关系一、指定父类递归查询所有的子级当数据库表中使用单个列表示上下级关系的场景时,使用SQL递归......
  • 18_Spring_事务管理注解方式
    ​ 事务的管理应该放在我们的service层进行处理spring中有两种事务的管理方式1编程式事务管理(了解) 2声明式事务管理(掌握)    基于注解方式实现(掌握)......
  • spring的循环依赖和三级缓存
    一、spring中bean的生命周期回顾要理解spring中的循环依赖问题需要先了解spring中bean的生命周期,spring中创建bean的过程中主要有这几个阶段:实例化前$\rightarrow$实......
  • 力扣---26. 删除有序数组中的重复项
    给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于在某些语言中不能改......
  • luogu P8367 [LNOI2022] 盒
    题面传送门比较厉害的题目。首先我们发现我们只需要计算\(i\)和\(i+1\)之间经过的货物数,也即设\(a\)的前缀和为\(Sum\),\(b\)的前缀和为\(c\),则\(i\toi+1\)......
  • 18_Spring_事务管理注解方式
    ​ 事务的管理应该放在我们的service层进行处理spring中有两种事务的管理方式1编程式事务管理(了解) 2声明式事务管理(掌握)    基于注解方式实现(掌握)......
  • 使用ffmpeg提取视频帧的时候降低图片质量
    当我们使用ffmpeg进行提取视频帧的时候,有些情况不希望帧的的体积小一点,这个时候就需要设置一下帧的保存质量,因为如果你不设置的话会默认使用最高质量。ffmpeg-iinput_vi......