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

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

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

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_Java工具类练习题和答案相关推荐

  1. Java基础---常用类之Arrays工具类+基本类型的包装类

    常用类之Arrays工具类 1.binarySearch(int[] a,int key) 使用二分搜索法来搜索指定的 int 型数组 2.fill(int[] a,int val)将指定的 int ...

  2. Properties 工具类 和 ResourceBundle 工具类

    Properties 工具类 和 ResourceBundle 工具类(接上一篇JavaIO包) 2 Properties 工具类 2.1 Properties集合的基本使用 2.2 Properti ...

  3. md5util java_Java 工具类 - MD5Util

    package com.tgb.hz.encryption; import java.io.UnsupportedEncodingException; import java.security.Mes ...

  4. 类 习题 java_Java类练习一则

    新建一个Hello类,代码拷贝进行即可运行... 项目一 1,2 题目: 项目一: 1.设计一个汽车类Auto, 其中包含一个表示速度的double型成员变量speed和表示启动的start()方法. ...

  5. 字符串工具类、数组工具类、集合工具类、转型操作工具类、编码与解码操作工具类...

    package hjp.smart4j.framework.util;import org.apache.commons.lang3.StringUtils;/*** 字符串工具类*/ public ...

  6. beanutils工具类_Apache Commons 工具类介绍及简单使用

    来源:http://h5ip.cn/9xu3 Apache Commons 工具类大家都有用过,但是可能缺乏系统学习,只用到了一小部分功能,无法发挥极限的价值,肥朝用大白话说就是,一颗好白菜都让猪给拱 ...

  7. java 加减乘除 工具类_Java数学工具类MathUtil详解

    package cn.xbz.util.math; import java.math.BigDecimal; /** * @title 数学计算工具类 * @description 提供常用的数值加减 ...

  8. 自定义工具类:导入工具类测试

    工具类完成导入导出 (1)导入数据 List<User> list = new ExcelImportUtil(User.class).readExcel(is, 1, 2); (2)导出 ...

  9. android sharedpreferences 工具类,android sharedpreferences工具类

    释放双眼,带上耳机,听听看~! 今天,简单讲讲如何写一个sharedpreferences的工具类. 很简单,把一些重复的操作封装在工具类里,其他地方调用就可以.在网上搜索了比较多的资料,找到一个比较 ...

最新文章

  1. [vSphere培训实录]利用模板部署虚拟机时的一个小错误
  2. Sql 查询当天、本周、本月记录
  3. Binder源码分析之ServiceManager(原)
  4. VMwareTool 安装
  5. 【Java基础总结】多线程
  6. VS工程切换cuda版本
  7. 树形结构 —— 并查集 —— 带权并查集
  8. HDFS体系结构详解
  9. 使用VS.NET2003操作SQLServer DTS.
  10. JavaScript高级程序设计(4)变量、作用域和内存问题
  11. cacti升级后还是用的旧路径_Flutter1.9升级体验及填坑全攻略
  12. NLP特征工程(待完善细节)
  13. php win8 下载64位下载,万能驱动助理(e驱动) Win8.1 64位专版 6.6 官方版
  14. Android TextToSpeech简单使用
  15. algorithm java_Java KeyPairGenerator getAlgorithm()用法及代码示例
  16. 关于Fortify 代码安全扫描常见问题
  17. 6-4布线问题(分支限界)
  18. 密码学的中文入门书籍及课程推荐
  19. 大华摄像头实现web端实时播放以及录像回放
  20. CMakeLists学习二、链接库搜索路径与ld

热门文章

  1. 为什么多比特不能采用打两拍的方法进行跨时钟域同步?
  2. CTF题目难度等级划分
  3. 几款免费流程图制作软件
  4. 力扣题【简单级别】1
  5. 电商系统O2O商城系统开发
  6. SpringBoot接入微信JSSDK,看这篇妥妥的
  7. 如何通过手机号获得对应的省份
  8. 中心极限与大数定理律的关系_素数定理的介绍+非常简单的推导
  9. # python模拟各大网站登陆方式, 包括爬虫--你们要的全都有
  10. 【Blender2.82a】学习记录