java String、Date、Calendar工具类习题

这篇博客提供了关于Java中String、Date和Calendar类的实战习题,包括字符串日期格式转换、字符计数、敏感词过滤、固定资产编号生成、日期间隔计算、闰年判断以及日期属性获取等挑战,旨在提升对Java基础类库的理解和应用能力。
摘要由CSDN通过智能技术生成

一、String习题

1、请根据控制台输入的特定日期格式拆分日期
如:请输入一个日期(格式如:XXXX年XXX月XX日)经过处理得到:XX月XX日XXXX年
提示:使用String的方法indexOf、lastIndexOf、substring

解题思路一:

  1. 使用indexOf()确定“年”、“月”、“日”三个字的位置

  2. 使用substring()将年份、月份、日期分为三个小字符串

  3. 将三个小字符串按照顺序拼接起来,获得一个完整的,有序的日期

    示例代码:

    package test;
    /*
    	1.请根据控制台输入的特定日期格式拆分日期
    
        如:请输入一个日期(格式如:**月**日****年)
        经过处理得到:****年**月**日
    
        提示:使用String的方法indexOf、lastIndexOf、substring
        
        测试数据:2017年5月13日
    */
    
    import java.util.Scanner;
    
    public class test {
    	public static void main(String[] args) {
        	System.out.println("请输入日期:(****年**月**日)");
        	Scanner sc = new Scanner(System.in);
        	String text = sc.nextLine();
        	System.out.println(text);
    
        	int year = text.indexOf("年");
        	int mon = text.indexOf("月");
        	int day = text.indexOf("日");
    
        	String year1 = text.substring(0,text.indexOf("年"))+"年";
        	String mon1 =text.substring(text.indexOf("年")+1,text.indexOf("月"))+"月";
        	String day1 = text.substring(text.indexOf("月")+1,text.indexOf("日"))+"日";
    
        	System.out.println(mon1+day1+year1);
        
    	}
    }
    
    




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

解题思路一:

  1. 将字符串转换为一个字符数组

  2. 将字符数组进行遍历,同时将每一个元素进行判断

  3. 使用两个变量分别统计出现的字母数量和数字数量

    代码示例:

    package test;
    import java.util.Scanner;
    //  2.给出一个随机字符串,判断有多少字母?多少数字?
    
    public class test2 {
    	public static void main(String[] args) {
    	
       		Scanner sc = new Scanner(System.in);
       		String text = sc.nextLine();
       		char[] textCopy = text.toCharArray();
       		
       		int numCount = 0,charCount = 0,elseCount = 0;
       		
       		for (char a : textCopy) {
           		if( a >= '0' && a <= '9'){
               		numCount++;
           		}else if (a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z'){
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值