1,统计段落中出现某一个词的次数
2,一个随机字符串,判断有多少字母有多少数字
3,根据特定日期格式拆分日期
4,敏感词过滤程序
5,计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数
6,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出
7,计算并输出21世纪的闰年,计算程序的执行时间
8,当以yyyy-MM-dd格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几
9,生成UUID方法
10,List集合高效率去重
11,List集合转换成数组包括(Integer,String类型)
12,mysql 如何获取当前时间 前、后一小时的时间?
13,Java实现获取前N小时的时间
14,对实体类集合进行排序
15,实体类中Date时间类型返回接口变成字符串时间类型的,而不是时间戳
1,统计段落中出现某一个词的次数
public static void wordCount(){
Scanner scanner = new Scanner(System.in);
int count = 0,index = 0;
System.out.println("请输入句子:");
String s = scanner.nextLine();
System.out.println("请输入要查询的词:");
String card = scanner.next();
while ((index = s.indexOf(card,index)) != -1){
index = index + card.length();
count++;
}
System.out.println(card + "在句子中出现了"+ count + "次");
}
2,一个随机字符串,判断有多少字母有多少数字
public static void letterAndnum(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入随机字符串:");
String s = scanner.nextLine();
int length = s.length();
int num = 0,let = 0;
for (int i = 0; i < length; i++){
if (Character.isDigit(s.charAt(i))){
num++;
}
if (Character.isLetter(s.charAt(i))){
let++;
}
}
System.out.println("数字:"+num+" 字母:"+let);
}
3,根据特定日期格式拆分日期
//如:请输入一个日期(格式如:**月**日****年)经过处理得到: ****年**月**日
public static void splitDate(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入日期:(格式如:**月**日****年)");
String s = scanner.nextLine();
int i = s.indexOf("日");
String substring = s.substring(i + 1);
String substring1 = s.substring(0, i + 1);
System.out.println(substring + substring1);
}
4,敏感词过滤程序
说明: 在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。
如 “性”、“色情”、“爆炸”、“恐怖”、“枪”、“军火”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。
public static void fitterWords(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入聊天内容:");
String str = scanner.nextLine();
String ch[] = {"色情","爆炸","恐怖","军火"};
for (String s:ch) {
str = str.replaceAll(s,"*");
}
System.out.println("聊天内容:"+str);
}
5,计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数
public static void leadTime() throws ParseException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个日期:");
String str = scanner.nextLine();
System.out.println("请输入第二个日期:");
String str2 = scanner.nextLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = dateFormat.parse(str);
Date parse1 = dateFormat.parse(str2);
long a = 0;
if (parse.after(parse1)){
a = parse.getTime() - parse1.getTime();
}else {
a = parse1.getTime() - parse.getTime();
}
long oneDay = 1000*60*60*24;
long day = a/oneDay;
long week = day/7;
System.out.println("相隔:"+day+" 天");
System.out.println("相隔:"+week+" 周");
}
6,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出
public static void letterUpperLower(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = scanner.nextLine();
char[] chars = str.toCharArray();
System.out.println("大写字母为:");
for (char a:chars) {
if (Character.isUpperCase(a)){
System.out.println(a);
}
}
System.out.println("小写字母为:");
for (char a:chars) {
if (Character.isLowerCase(a)){
System.out.println(a);
}
}
}
7,计算并输出21世纪的闰年,程序的执行时间
public static void leapYeay21(){
long start = System.currentTimeMillis();
GregorianCalendar calendar = new GregorianCalendar();
for (int i = 2000;i<2100;i++){
if (calendar.isLeapYear(i)){
System.out.println(i + "是闰年");
}
}
long end = System.currentTimeMillis();
System.out.println("程序的执行时间为:"+(end - start)+"毫秒");
}
8,当以yyyy-MM-dd格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几
public static void isLeapYeay() throws ParseException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入日期:(格式:yyyy-MM-dd)");
String str = scanner.nextLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = dateFormat.parse(str);
Calendar instance = Calendar.getInstance();
instance.setTime(parse);
int year = instance.get(Calendar.YEAR);
int month = instance.get(Calendar.MONTH)+1;
int week = instance.get(Calendar.DAY_OF_WEEK)-1;
GregorianCalendar calendar = new GregorianCalendar();
if (calendar.isLeapYear(year)){
System.out.println(year + "是闰年");
}else{
System.out.println(year + "是平年");
}
int max = instance.getActualMaximum(Calendar.DAY_OF_MONTH);
String s = week == 0?"周日":"周"+week;
System.out.println(month + "月有" + max + "日,该日是" + s);
}
9,生成UUID方法
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
10,List集合高效率去重
首先回顾一下LinkedHashSet:
LinkedHashSet继承HashSet且实现了LinkedHashMap,底层使用LinkedHashMap保存所有元素,其所有操作方法又和HashSet相同。
注意点:
1、LinkedHashSet 是 Set 的一个具体实现,其维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序。
2、如果我们需要迭代的顺序为插入顺序或者访问顺序,那么 LinkedHashSet 可优先考虑。
这里我们利用LinkedHashSet不能添加重复数据并能保证添加顺序的特性 去除List中重复元素:
public List<String> removeDuplicate(List<String> list) {
LinkedHashSet<String> set = new LinkedHashSet<String>(list.size());
List<String> newList = new ArrayList<String>();
set.addAll(list);
newList.clear();
newList.addAll(set);
return newList;
}
11,List集合转换成数组包括(Integer,String类型)
List<Integer> rpvList = new ArrayList<>();
List<String> stringList = new ArrayList<>();
int[] rpv = rpvList.stream().mapToInt(Integer::intValue).toArray();
String[] strings = stringList.toArray(new String[stringList.size()]);
12,mysql 如何获取当前时间 前、后N的时间?
(1)获取当前时间
select now();
(2)前N小时时间
select date_sub(now(), interval 1 hour);
(3)后N小时时间
select date_add(now(), interval 1 hour);
获取前N小时之内的时间,并按照小时进行分组
13,Java实现获取前N小时的时间
/**
* @Description: 计算前N小时之内的时间
* @Param: [ihour]
* @return: java.util.List< java.lang.Integer>
* @Author: XQD
* @Date:2020/4/12 20:27
*/
public List<Integer> getBeforeByHourTime(int ihour){
List<Integer> list=new ArrayList<>();
try{
for (int i=1;i<=ihour;i++){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - i+1);
SimpleDateFormat df = new SimpleDateFormat("HH");
String hour = df.format(calendar.getTime());
list.add(Integer.parseInt(hour));
}
}catch (Exception e){
e.printStackTrace();
}
return list;
}
14,对实体类集合进行排序
List<VisitCountVO> visitCountVOS = new ArrayList<>();
Collections.sort(visitCountVOS, new Comparator<VisitCountVO>() {
public int compare(VisitCountVO o1, VisitCountVO o2) {
return o1.getHour().compareTo(o2.getHour());
}
});
15,实体类中Date时间类型返回接口变成字符串时间类型的,而不是时间戳
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date visitTime;
持续更新…