package com.yangzl.basic;

import java.util.Scanner;
/**
* 分别统计出其中汉字、英文字母、空格、数字和其它字符的个数
* @author Administrator
*
*/
public class Count_Input_Str_Num {
public static void main(String[] args) {
System.out.print("输入字符:");
Scanner s = new Scanner(System.in);
String str = s.nextLine();
count(str);
}
/**
* 统计汉字、字母、空格、数字的函数
* @param str
*/
public static void count(String str){
//统计个数
int ch_count = 0;
int en_count = 0;
int dig_count = 0;
int blank_count = 0;
int other_count = 0; for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if(Character.isLetter(c)&&c>255){//判断汉字
ch_count++;
}else if((c>='a'&c<='z')||(c>='A'&c<='Z')){//判断字母
en_count++;
}else if(c>='0'&c<='9'){//判断数字
dig_count++;
}else if(c==' '){//判断空格
blank_count++;
}else{
other_count++;
}
} System.out.println("汉字个数:"+ch_count);
System.out.println("字母个数:"+en_count);
System.out.println("数字个数:"+dig_count);
System.out.println("空格个数:"+blank_count);
System.out.println("其他字符个数:"+other_count);
}
}

结果:

输入字符:你好 i am YZL 345 %^&*()
汉字个数:2
字母个数:6
数字个数:3
空格个数:5
其他字符个数:6

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------

2.弹出框的形式

package com.yangzl.basic;

import javax.swing.JOptionPane;
/**
* 弹出框形式 计算英文字母、数字、空格的个数
* @author Administrator
*
*/
public class Count {
public static void main(String []args){
int ch=0;
int nu=0;
int blank=0;
int ot=0;
String st = JOptionPane.showInputDialog("请输入字符串:");
for(int i=0;i<st.length();i++){
char n=st.charAt(i);
if(n>='0'&&n<='9')nu++;
else if((n>='a'&n<='z')||(n>='A'&n<='Z'))ch++;
else if(n==' ')blank++;
else ot++;
}
JOptionPane.showMessageDialog(null, "输入的字符串:"+st+"\n\n字母个数:"+ch+"\n数字个数:"+nu+"\n空格个数:"+blank+"\n其他字符:"+ot);
} }

Java基础编程题——分别统计出其中汉字、英文字母、空格、数字和其它字符的个数的更多相关文章

  1. java基础编程题练习(二)

    1.回文数 思路一:使用java特有解法,将原数字以字符串存储,翻转后赋值给新的字符串变量,再使用equals与原字符串进行对比 import java.util.Scanner; public cl ...

  2. java基础编程题练习(一)

    1.编程实现用户输入4个整数,按从大到小的顺序排列输出. 思路:将输入的数据存入数组,使用冒泡排序对数组数据进行排序后输出数组 冒泡排序的代码如下: import java.util.Scanner; ...

  3. java基础编程题(1)

    1. 题目:打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1...... package com.jzq.test1; ...

  4. java基础编程题

    1. 某公司每月标准上班时间是160小时,每小时工资是30元. 如果上班时间超出了160小时,超出部分每小时按1.5倍工资发放.请编写程序计算员工月工资. package com.num2.lianx ...

  5. Java基础编程题——打印九九乘法表

    package com.yangzl.basic; /** * 九九乘法表 * @author Administrator * */ public class Nine_Nine_Multiplica ...

  6. Java基础编程题——水仙花数

    package com.yangzl.basic; /** * 题目:打印出所有的"水仙花数". * 所谓"水仙花数"是指一个三位数, * 其各位数字立方和等于 ...

  7. Java基础编程题——素数

    package com.yangzl.basic; /** * 判断101-200之间有多少个素数,并输出所有素数. * @author Administrator * */ /*程序分析:判断素数的 ...

  8. java基础编程题(2)

    1.给定一个二叉树,找出其最大深度. 注:二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. /** * Definition for a binary tree node. * public ...

  9. JAVA 基础编程练习题13 【程序 13 根据条件求数字】

    13 [程序 13 根据条件求数字] 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? 程序分析:在 10 万以内判断,先将该数加上 100 后 ...

随机推荐

  1. python之字典操作

    字典操作代码如下: #数据字典操作汇总 person = {'name': 'Mike', 'age': 25} print("初始的数据字典:", person) #访问字典值 ...

  2. Visual Studio 2017各版本安装包离线下载、安装全解析

    关于Visual Studio 2017各版本安装包离线下载.更新和安装的方法以及通过已下载版本减少下载量的办法 微软最近发布了正式版Visual Studio 2017并公开了其下载方式,不过由于V ...

  3. BZOJ1195[HNOI2006]最短母串——AC自动机+BFS+状态压缩

    题目描述 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. 输入 第一行是一个正整数n(n<=12),表示给定的字符串的 ...

  4. Network UVA - 315(求割点)

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  5. gym 101064 G.The Declaration of Independence (主席树)

    题目链接: 题意: n个操作,有两种操作: E p  c    在序号为p的队列尾部插入c得到新的队列,序号为i D p   查询并删除序号为p的队列顶部的元素,得到序号为i的新队列 思路: 需要查询 ...

  6. 解析 Android Things 技术原理

    2012 年 6 月,由 IoT-GSI(Global Standards Initiative on Internet of Things)发布的白皮书“ITU-T Y.4000/Y.2060”[1 ...

  7. 自学Linux Shell8.1-linux文件系统概述及操作

    点击返回 自学Linux命令行与Shell脚本之路 8.1-linux文件系统概述及操作 1. linux支持的文件系统 Windows常用的分区格式有三种,分别是FAT16.FAT32.NTFS格式 ...

  8. bzoj1003/luogu1772 物流运输 (dijkstra+dp)

    先求出某一段时间[i,j]一直用同一个路径的最短路,乘上天数,记作cost[i,j] 那就可以设f[i]是前i天的最小代价,f[i]=f[j]+cost[j+1,i]+K #include<bi ...

  9. pandas 从入门到遗忘

    读取大文件(内存有限): import pandas as pd reader = pd.read_csv("tap_fun_test.csv", sep=',', iterato ...

  10. 【BZOJ1558】等差数列(线段树)

    [BZOJ1558]等差数列(线段树) 题面 BZOJ 题解 可以说这道题已经非常毒瘤了 怎么考虑询问操作? 如果直接将一段数分解为等差数列? 太麻烦了.... 考虑相邻的数做差, 这样等差数列变为了 ...