1.请根据控制台输入的特定日期格式拆分日期

如:请输入一个日期(格式如:**月**日****年)
经过处理得到:****年**月**日

提示:使用String的方法indexOf、lastIndexOf、substring

package com.my.work;

import java.util.Scanner;

public class Date_1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in); System.out.println("请输入一个日期(格式如:**月**日****年)");
String date = s.nextLine();
System.out.println(date); int day = date.indexOf("日");//返回“日”的索引值
String year = date.substring(day+1);//截取****年
String date2 = date.substring(0,day+1);//截取**月**日 String date3 = year+date2;
System.out.println(date3); } }

  

运行结果:

请输入一个日期(格式如:**月**日****年)
4月11日2019年
4月11日2019年
2019年4月11日

2.给出一个随机字符串,判断有多少字母?多少数字?

方法一

public class Work_2 {
public static void main(String[] args) {
int shuzi=0;
int zimu=0;
Scanner s = new Scanner(System.in);
System.out.println("输入随机字符串:");
String s1 = s.nextLine(); char[] c = s1.toCharArray(); for(int i=0;i<c.length;i++){
if(c[i]>='0'&&c[i]<='9'){
shuzi++;
}else if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z'){
zimu++;
}
} System.out.println("数字有"+shuzi+"个");
System.out.println("字母有"+zimu+"个");
}
}

  

运行结果:

输入随机字符串:
Zhang110Yuxian
数字有3个
字母有11个

  

方法二

package com.my.work;

import java.util.Scanner;

public class Work_2_2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入随机字符串");
String s1 = s.nextLine();
int num=0;//数字
int zm=0;//字母 char[] c = s1.toCharArray(); for(char c1:c){
if(Character.isDigit(c1)){
num++;//数字
}else if (Character.isLetter(c1)){
zm++;//字母
}
}
System.out.println("数字的个数:"+num+" "+"字母的个数:"+zm);
}
}

  

请输入随机字符串
Zhang110Yuxian000
数字的个数:6 字母的个数:11

  

3.以下是一段歌词,请从这段歌词中统计出朋友出现的次数。

"这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。
朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。";

提示:使用String方法indexOf、substring。

方法一

package com.my.work;

public class Work_3 {
public static void main(String[] args) {
String s = "这些年一个人,风也过,雨也走,有过泪,有过错,"+
" 还记得坚持甚么,真爱过才会懂,会寂寞会回首," +
"终有梦终有你在心中。朋友一生一起走,那些日子不再有," +
"一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂," +
"还有伤,还有痛,还要走,还有我。";
int num=0;
getNumber(s,num); } public static void getNumber(String s,int num){
int n = s.indexOf("朋友");
if(n>=0){
num++;
s=s.substring(n+2);
getNumber(s,num);
}else{
System.out.println("朋友出现的次数:"+num+"次");
}
}
}

  

运行结果:

朋友出现的次数:3次

  

方法二

package com.my.work;

public class Work_3_1 {

    public static void main(String[] args) {

        String s = "这些年一个人,风也过,雨也走,有过泪,有过错,"+
" 还记得坚持甚么,真爱过才会懂,会寂寞会回首," +
"终有梦终有你在心中。朋友一生一起走,那些日子不再有," +
"一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂," +
"还有伤,还有痛,还要走,还有我。";
int i = s.indexOf("朋友");
String s1= s;
int num=0; for (int j=0;j<s.length();j++){
if(i>0){
num++;
s1=s1.substring(i+1);
i=s1.indexOf("朋友");
}
}
System.out.println("朋友的次数:"+num--+"次"); } }

  

运行结果:

朋友的次数:3次

  

方法三

package com.my.work;

public class Work_3_2 {
public static void main(String[] args) {
String s = "这些年一个人,风也过,雨也走,有过泪,有过错,"+
" 还记得坚持甚么,真爱过才会懂,会寂寞会回首," +
"终有梦终有你在心中。朋友一生一起走,那些日子不再有," +
"一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂," +
"还有伤,还有痛,还要走,还有我。"; String[] s1 = s.split("朋友");
System.out.println("朋友出现的次数:"+(s1.length-1)+"次"); }
}

  

运行结果:

朋友出现的次数:3次

  

方法四

package com.my.work;

public class Work_3_4 {
public static void main(String[] args) {
String s = "这些年一个人,风也过,雨也走,有过泪,有过错,"+
" 还记得坚持甚么,真爱过才会懂,会寂寞会回首," +
"终有梦终有你在心中。朋友一生一起走,那些日子不再有," +
"一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂," +
"还有伤,还有痛,还要走,还有我。"; String key ="朋友"; int start = s.length();
String s1 = s.replace(key,"");
int end = s1.length();
int count = (start-end)/key.length();
System.out.println(key+"出现的次数为:"+count+"次"); }
}

  

运行结果:

朋友出现的次数为:3次

  

4.编写敏感词过滤程序
说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。如“性”、“色情”、“爆炸”、“恐怖”、“枪”、“军火”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。

提示:将用户的聊天内容保存到一个字符串对象或一个StringBuilder对象中,然后与敏感词语类表(数组实现)进行比对。如果属于敏感词语,就过滤掉或替换掉。

package com.my.work;

import java.util.Scanner;

public class Work_4 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String[] s1 = {"性","色情","爆炸","恐怖","枪","军火"};
System.out.println("输入一句话:");
String s2= s.nextLine(); for (String a:s1){
String a1 = ""; if(s2.contains(a)){
for(int i=0;i<a.length();i++){
a1+="*";
}
s2=s2.replace(a,a1);
} }
System.out.println(s2);
}
}

  

运行结果:

输入一句话:
不要谈性色变,不要接触色情,更不要动枪和军火,这很恐怖,会爆炸
不要谈*色变,不要接触**,更不要动*和**,这很**,会**

  

5.根据输入的年份、产品类型和随机数产生固定资产编号
即:固定资产编号=年份+0+产品类型+3位随机数

程序运行流程:请输入年份:
……
请选择产品类型(1. 台式机 2. 笔记本 3. 其他):
……
生成3位随机数
最后显示固定资产编号

提示:3位随机数按如下方法产生:
(int)(Math.random()*1000);

package com.my.work;

import java.util.Scanner;

public class Work_5 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入年份:");
String year = s.nextLine(); System.out.println("请选择产品类型:(1.台式机 2.笔记本 3.其他)");
String[] s1 = {"台式机","笔记本","其他"}; Scanner s2 = new Scanner(System.in);
System.out.println("请选择产品类型");
int choose = s2.nextInt();
choose -=1;
int num = (int)(Math.random()*1000); System.out.println(year+s1[choose]+num);
}
}

  

请输入年份:
2019
请选择产品类型:(1.台式机 2.笔记本 3.其他)
请选择产品类型
2
2019笔记本606

  

7.计算并输出21世纪的闰年,计算程序的执行时间。

package com.my.work;

public class Work_7 {
public static void main(String[] args) { long start = System.currentTimeMillis();
for (int i=2000;i<2100;i++){
if(i%4==0){
System.out.println("21世纪所有的闰年:"+i);
}
}
long end = System.currentTimeMillis();
long run = end-start;
System.out.println("程序运行时间为:"+run+"毫秒");
} }

  

运行结果:

21世纪所有的闰年:2000
21世纪所有的闰年:2004
21世纪所有的闰年:2008
21世纪所有的闰年:2012
21世纪所有的闰年:2016
21世纪所有的闰年:2020
21世纪所有的闰年:2024
21世纪所有的闰年:2028
21世纪所有的闰年:2032
21世纪所有的闰年:2036
21世纪所有的闰年:2040
21世纪所有的闰年:2044
21世纪所有的闰年:2048
21世纪所有的闰年:2052
21世纪所有的闰年:2056
21世纪所有的闰年:2060
21世纪所有的闰年:2064
21世纪所有的闰年:2068
21世纪所有的闰年:2072
21世纪所有的闰年:2076
21世纪所有的闰年:2080
21世纪所有的闰年:2084
21世纪所有的闰年:2088
21世纪所有的闰年:2092
21世纪所有的闰年:2096
程序运行时间为:1毫秒

  

8.编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。

package com.my.work;

import java.util.Scanner;

public class Work_8 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输出一串大小写字母");
String s1 = s.nextLine(); char[] c = s1.toCharArray();
for (char c1:c){
if (Character.isUpperCase(c1)){
System.out.print(c1+" ");
}
}
System.out.println();
for (char c1:c){
if (Character.isLowerCase(c1)){
System.out.print(c1+" ");
}
}
}
}

  

请输出一串大小写字母
ZhangYuxian
Z Y
h a n g u x i a n

  

Java常用工具类练习题的更多相关文章

  1. JavaEE-实验一 Java常用工具类编程

    该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1.  使用类String类的分割split 将字符串  “Solutions to selected exercises ca ...

  2. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

  3. Java常用工具类---XML工具类、数据验证工具类

    package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...

  4. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  5. java常用工具类(java技术交流群57388149)

    package com.itjh.javaUtil;   import java.util.ArrayList; import java.util.List;   /** * * String工具类. ...

  6. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面     本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...

  7. java 常用工具类

    1. org.apache.commons.collections4包提供CollectionUtils.MapUtils.ListUtils.SetUtils等工具类: 2. org.apache. ...

  8. Java常用工具类之Excel导出

    package com.wazn.learn.util; import java.util.List; import java.util.Map; import org.apache.poi.hssf ...

  9. Java常用工具类之删除文件

    package com.wazn.learn.util; import java.io.File; /** * 删除文件工具类 * @author yangzhenyu * */ public cla ...

随机推荐

  1. jdbc连接数据库以及crud(简单易懂,本人亲测可用 有源代码和数据库)

    今天呢!重新整理了一边jdbc的相关操作:现在来说对于很多框架都使用mybatis和hibernate来操作数据库 ,也有很多使用自己简单封装的ssm或者是其他的一些框架来操作数据库,但是无论使用哪一 ...

  2. Android Q 变更和新特性

    安全和隐私变更 隐私保护是Android Q重要的主题之一,Android Q带来了一系列增强用户隐私保护的变更. 1 应用文件存储空间限制 应用访问限制是Android Q影响最大变更之一.在And ...

  3. nginx代理tcp协议连接mysql

    阅读目录 一.mariadb安装及配置 1.1 在192.168.182.155安装mariadb 1.2 配置MariaDB的字符集 1.3  添加用户,设置权限 1.4 防火墙设置 二.nginx ...

  4. net core EF 链接mysql 数据库

    这个主要是一个demo.就在一个工程里面写的 安装MySql.Data.EntityFrameworkCore 增加DbContext 相当于程序与数据库的中间层 public class Ident ...

  5. Android进阶:六、在子线程中直接使用 Toast 及其原理

    一般我们都把Toast当做一个UI控件在主线程显示.但是有时候非想在子线程中显示Toast,就会使用Handler切换到主线程显示. 但是子线程中真的不能直接显示Toast吗? 答案是:当然可以. 那 ...

  6. 20165235 实现pwd功能

    20165235 实现pwd功能 要求 学习pwd命令 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3.实现mypwd 测试mypwd 实现过程 pwd是将当前的文件目录 ...

  7. leetcode刷题七<整数反转>

    给出一个 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 : 输入: 输出: 示例 : 输入: - 输出: - 示例 : 输入: 输出: 假设我们的环境只能存储得下 32 位的有符号整 ...

  8. kvm虚拟机网络管理

    一.Linux Bridge网桥 管理 # brctl show 显示当前网桥连接状态 # brctl addbr br1vlan-10 添加网桥 # brctl delbr br1vlan-10 删 ...

  9. idea构建spring源码阅读环境

    注:由于文章不是一次性完成,下文中的test1目录和test目录应为同一个目录. (一)安装git和Gradle Spring项目托管在github之上,基于Gradle来构建项目.所以要想搭建Spr ...

  10. vbs脚本实现qq定时发消息(初级)

    vbs脚本实现QQ消息定时发送 目标 批处理又称为批处理脚本,强大的强大功能可以高效得实现很多功能,例如批量更改文件格式,批量进行文件读写,今天我们的目标是用vbs脚本编写可以发送qq消息的脚本,并利 ...