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. js 去掉数组对象中的重复对象

    export function deteleObject(obj) { var uniques = []; var stringify = {}; for (var i = 0; i < obj ...

  2. Android开发资源收集

    收集Android开发用得上的资源,方便查询 像大牛一样写代码: 31个Android 开发者工具 Android 流行框架查速表 数据结构和算法练习awesome-java-leetcode And ...

  3. 洛谷评测机BUG(应该是)

    此问题由洛谷p1746引出(之前出过类似问题没在意) 传送门 以下是两个差不多的程序,(只有main函数中的输入不同,第一个程序迷之WA,第二个程序AC) #include <bits/stdc ...

  4. 谷歌浏览器F12基本用法

    第一步:打开你想进行调试的页面,并按F12进入到调试模式 此处以百度页面为例进行功能展示 这是关于最右侧“元素选择器”的功能展示 关于第二个功能的使用,这个功能是将页面适应成手机屏幕大小, eleme ...

  5. SVM原理 (转载)

    1. 线性分类SVM面临的问题 有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混入了异常点,导致不能线性可分,比如下图,本来数据是可以按下面的实线来做超平面分离 ...

  6. java基础之IO流及递归理解

    一.IO流(简单理解是input/output流,数据流内存到磁盘或者从磁盘到内存等) 二.File类(就是操作文件和文件夹的) 1.FIleFile类构造方法 注意:通过构造方法创建的file对象是 ...

  7. CentOs查看某个字符串在某个目录下的行数

    如果你想在当前目录下 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" ./ ./ : 表示路径为当前目录. ...

  8. 2018-2019 20165220 网络对抗 Exp5 MSF基础

    实验任务 1.1一个主动攻击实践,如ms08_067; (1分) 1.2 一个针对浏览器的攻击,如ms11_050:(1分) 1.3 一个针对客户端的攻击,如Adobe:(1分) 1.4 成功应用任何 ...

  9. 让java代码在Idea外面运行起来

    今天在写聊天程序,终于写到双方通信的时候,发现idea只能开一个客户端.虽说可以开多线程来实现多开,但是懒得改动代码,所以我就试试能不能把jar包导出来运行.首先我用maven自带的工具打了jar包, ...

  10. anjular分页组件tm-pagination的使用

    原组件地址:https://github.com/miaoyaoyao/AngularJs-UI (1)直接从git上clone下来的demo无法正常显示,后来重新到在线的demo上拷贝了templa ...