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. 应用层协议及ip地址划分

    1.应用层协议 2.ip地址 3.子网划分及超网合并

  2. Ideal test 不执行main方法了

    参考:idea 导入项目后不能执行main方法 用了ideal之后,发现自己的项目里面没有test文件夹,自己建了一个,发现竟然不能执行main函数, 后来经过点播之后,才知道,光建立文件夹是没用的, ...

  3. FreeBSD ZFS

    FreeBSD ZFS https://www.cnblogs.com/hadex/p/6068476.html 参考資料 http://docs.oracle.com/cd/E37934_01/ht ...

  4. 洛谷P1973 [NOI2011]Noi嘉年华(动态规划,决策单调性)

    洛谷题目传送门 DP题怕是都要大大的脑洞...... 首先,时间那么大没用,直接离散化. 第一问还好.根据题意容易发现,当一堆活动的时间有大量重叠的时候,更好的办法是把它们全部安排到一边去.那么我们转 ...

  5. 单片机如何产生PWM信号

    用89C52产生控制二相步进电机的程序,用PWM信号控制步进电机 用普通I/O口采用软件定时器中断可以模拟PWM输出 /*采用6MHz晶振,在P1.0脚上输出周期为2.5s,占空比为20%的脉冲信号* ...

  6. 跟我一起使用electron搭建一个文件浏览器应用吧(四)

    在软件的世界里面,创建一个新项目很容易,但是坚持将他们开发完成并发布却并非易事.分发软件就是一个分水岭, 分水岭的一边是那些完成的被全世界用户在用的软件,而另外一边则是启动了无数项目却没有一个完成的. ...

  7. MATLAB:图像的移动(move函数)

    图像移动涉及到move函数,实现过程如下: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imread('lenna.bmp ...

  8. GBDT原理详解

    从提升树出发,——>回归提升树.二元分类.多元分类三个GBDT常见算法. 提升树 梯度提升树 回归提升树 二元分类 多元分类 面经 提升树 在说GBDT之前,先说说提升树(boosting tr ...

  9. 按钮JButton,单选按钮JRadioButton,复选框JCheckBox

    1.按钮JButton public class Demo extends JFrame { public Demo() { setBounds(100, 100, 400, 200); setDef ...

  10. udp之关于linux udp收发包缓冲区大小

    1.修订单个socket的缓冲区大小:通过setsockopt使用SO_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem_max进行对比校验,但是如果设置的大小超过rmem_max的话, ...