常用工具类练习
1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日
import java.util.Scanner; public class One {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String a=sc.next();
int a1=a.indexOf("年");
int a2=a.indexOf("月");
int a3=a.indexOf("日");
String a4=a.substring(a3+1,a1+1);
String a5=a.substring(0,a3+1);
System.out.println(a4+a5);
}
}
运行结果:
3月3日2019年
2019年3月3日
2. 给出一个随机字符串,判断有多少字母?多少数字?
import java.util.Scanner; public class Two { public static void main(String[] args){ Scanner sc=new Scanner(System.in); String b=sc.next(); char[] b1=b.toCharArray(); int x=0,y=0; for(char b2:b1){ if(Character.isLetter(b2)){ x++; }else if(Character.isDigit(b2)){ y++; } } System.out.println("字母的个数:"+x+"数字的个数:"+y); } }
运行结果:
aaa45a
字母的个数:4数字的个数:2
3. 以下是一段歌词,请从这段歌词中统计出朋友出现的次数,"这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。"
方法一:
import com.sun.xml.internal.ws.util.StringUtils; public class Three { public static void main(String[] args) { String c = new String("这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。 朋友一生一起走,那些日子不再有,一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我"); int num=0; for(int i=0;i<c.length()-1;i++){ String cc=c.substring(i,i+2); if(cc.equals("朋友")){ num++; } } System.out.println(num); }
}
运行结果:
3
方法二:
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
方法三:
public class Work_3_2 { public static void main(String[] args) { String s = "这些年一个人,风也过,雨也走,有过泪,有过错,"+ " 还记得坚持甚么,真爱过才会懂,会寂寞会回首," + "终有梦终有你在心中。朋友一生一起走,那些日子不再有," + "一句话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂," + "还有伤,还有痛,还要走,还有我。"; String[] s1 = s.split("朋友"); System.out.println(s1.length-1));
} }
运行结果:
3
方法四:
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(count);
} }
运行结果:
3
4. 编写敏感词过滤程序 ,说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤
public class Four { public static void main(String[] args){ String[] d={"枪","爆炸","恐怖"}; // Scanner sc=new Scanner(System.in); // String d1=sc.next(); String d1=new String("不要拿枪,很恐怖,会爆炸"); for(String d2:d){ d1=d1.replace(d2,"**"); } System.out.println(d1); } }
运行结果:
不要拿**,很**,会**
5. 根据输入的年份、产品类型和随机数产生固定资产编号
即:固定资产编号=年份+0+产品类型+3位随机数
程序运行流程:请输入年份:
……
请选择产品类型(1. 台式机 2. 笔记本 3. 其他):
……
生成3位随机数
最后显示固定资产编号
提示:3位随机数按如下方法产生:
(int)(Math.random()*1000);
public class Five { public static void main(String[] args){ System.out.println("请输入年份:"); Scanner s =new Scanner(System.in); String e=s.next(); System.out.println("请选择产品类型:1.台式机,2.笔记本,3.其他"); Scanner s1 =new Scanner(System.in); String e1=s1.next(); int e2=(int)(Math.random()*1000); String e3=Integer.toString(e2); String e4=e.concat(e1).concat(e3); System.out.println("固定资产编号为:"+e4); } }
运行结果:
请输入年份:
2019
请选择产品类型:1.台式机,2.笔记本,3.其他
2
固定资产编号为:20192527
6. 编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。
public class Eight { public static void main(String[] args){ String h=new String("aaSdEcWq"); char[] h1=h.toCharArray(); StringBuffer h3=new StringBuffer(); StringBuffer h4=new StringBuffer(); for(char h2:h1){ if(Character.isUpperCase(h2)){ h3.append(h2); h3.append(","); }else if(Character.isLowerCase(h2)){ h4.append(h2); h4.append(","); } } System.out.println(h3); System.out.println(h4); } }
运行结果:
S,E,W,
a,a,d,c,q,
7. 计算并输出21世纪的闰年,计算程序的执行时间
public class Seven { 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毫秒