Java-日期类,正则实验

news2024/11/25 14:55:29

1. 随机产生两个日期时间,输入按时间先后顺序输出

public class RandomDate {

	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date1 = randomDate("2001-08-30 10:00:00");
		Date date2 = randomDate("2001-08-30 09:00:00");
		String formatDate1 = sdf.format(date1);
		String formatDate2 = sdf.format(date2);
		// 直接比较时间戳即可
		if (date1.getTime() > date2.getTime()) {
			System.out.println(formatDate2);
			System.out.println(formatDate1);
		} else {
			System.out.println(formatDate1);
			System.out.println(formatDate2);
		}
	}

	/**
	 * 
	 * @Title: randomDate
	 * @Description: 根据指定字符串创建随机时间
	 * @param: @param  str
	 * @param: @return Date
	 * @param: @throws ParseException
	 * @author: KangXiaoZhuang
	 * @email: ITkxz0830@163.com
	 */
	public static Date randomDate(String str) throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		long endTime = System.currentTimeMillis();
		// 指定时间 先转换成Date再转换为时间戳
		long startTime = sdf.parse(str).getTime();
		// 获取一个随机数
		long random = (long) (Math.random() * (endTime - startTime) + startTime);
		// 根据随机数来创建一个新的日期
		Date randomDate = new Date(random);
		// 返回randomDate
		return randomDate;
	}
}

在这里插入图片描述

2.定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转换成字符串表示的二进制

public class MytoBinaryString {

	public static void main(String[] args) {
		System.out.println("输入一个数,转为二进制字符串!");
		Scanner scanner = new Scanner(System.in);

		String binaryString = toBinaryString(scanner.nextInt());

		System.out.println(binaryString);
	}

	/**
	 * 
	 * @Title: toBinaryString
	 * @Description: 数字转为二进制
	 * @param: @param n
	 * @author: KangXiaoZhuang
	 * @email: ITkxz0830@163.com
	 */
	public static String toBinaryString(int n) {
		int mod = 0;
		// 创建栈来存储余数
		Deque<Integer> stack = new ArrayDeque<>();
		do {
			// 获取余数
			mod = n % 2;
			// stack.push(mod);
			stack.addFirst(mod);
			// 获取商
			n = n / 2;
		} while (n > 0);
		return stack.toString();
	}
}

在这里插入图片描述

3.请使用代码实现计算你活了多少天的方法,要求方法的输入参数为年月日的字符串,如“1988年12月13日”

public class CountDay {

	public static void main(String[] args) throws ParseException {

		// 1.时用Scanner类中的方法next,获取出生日期
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入你的出生日期,格式:yyyy-MM-dd");
		count(scanner.next());
	}

	/**
	 * 
	 * @Title: count
	 * @Description: 计算天数
	 * @param: @param  str
	 * @param: @throws ParseException
	 * @author: KangXiaoZhuang
	 * @email: ITkxz0830@163.com
	 */
	public static void count(String str) throws ParseException {

		// 2.时用DateFormat类中的方法parse,把字符串得出生日期,解析为Date格式的出生日期
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

		// 3.把Date格式的出生日期转换为毫秒值
		Date birthdayDate = sdf.parse(str);

		long birthdayDateTime = birthdayDate.getTime();

		// 4.获取当前的日期,转换为毫秒值
		long todayTime = new Date().getTime();

		// 5.使用当前日期的毫秒值 - 出生日期的毫秒值
		long time = todayTime - birthdayDateTime;

		// 6.把毫秒值转换为天(s/1000/60/60/24)
		long day = time / 1000 / 60 / 60 / 24;
		System.out.println("你已经出生了" + day + "天");
	}
}

在这里插入图片描述

4.假设你的出生年月日为:2000-11-11,请用字符串表示这个数据,并将其转换为:2000年11月11日

public class StirngToDate {

	public static void main(String[] args) throws ParseException {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的出生年月:");
		String birthDate = sc.next();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date d = sdf.parse(birthDate);
		System.out.println("你的出生年月为:" + new SimpleDateFormat("yyyy年MM月dd日").format(d));
		sc.close();
	}
}

在这里插入图片描述

5.自己实现parseInt方法的效果,将字符串形式的数据装换成整数

要求:(1)最少一位,最多10位;
(2)0不能开头;
(3)字符串中只能是数字,不能有其他字符,否则显示数据格式有误

public class StringToInt {

	public static void main(String[] args) {
		boolean flag = true;
		while (flag) {
			System.out.println("请输入字符串:\n");
			Scanner sc = new Scanner(System.in);
			String str = sc.nextLine();
			if (chcek(str)) {
				int val = Integer.parseInt(str);
				System.out.println("转换后的整数:" + val);
				flag = false;
				break;
			}
		}
	}

	/**
	 * 
	 * @Title: chcek
	 * @Description: 校验输入的字符串是否匹配要求
	 * @param: @param  str
	 * @param: @return
	 * @author: KangXiaoZhuang
	 * @email: ITkxz0830@163.com
	 */
	public static boolean chcek(String str) {
		if (str.matches("^0\\d*$")) {
			System.err.println("不能以0开头");
			return false;
		} else if (!str.matches("\\d*")) {
			System.err.println("数据格式有误!只能输入数字");
			return false;
		} else if (!str.matches("^\\d{1,10}$")) {
			System.err.println("最少1位,最多10位");
			return false;
		}
		return true;
	}
}

在这里插入图片描述

6. 请把下面文本中的电话、邮箱、手机号、热线电话都爬取出来

“欢迎来到南京XX学院学习,
电话:18512516785,18512508079,
或者联系邮箱:boniu@cucn.cn,
座机电话:025-36517899,025-98951256,
邮箱:bozai@cucn.cn,
热线电话:400-618-8080,400-618-6000,400-618-4000”

public class RegexData {
	public static void main(String[] args) {
		String s1 = "欢迎来到南京XX学院学习,电话:18512516785,18512508079" + "或者联系邮箱:baaaiu@cucu.cn"
				+ "座机电话:025-36517899,025-98951256," + "邮箱:bozai@cucu.cn"
				+ "热线电话:400-618-8080,400-618-6000,400-618-4000";
		String regex = "(0\\d{2,6}-?\\d{5,20})|(1[3-9]\\d{9})|"
				+ "(\\w{1,30}@[0-9a-zA-z]{2,20}(\\.[0-9a-zA-Z]{2,20}){1,2})|" + "(400-?\\d{3,20}-?\\d{3,20})";
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(s1);
		while (matcher.find()) {
			System.out.println(matcher.group());
		}
	}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二分查找 【模板+中间值问题】

全文目录&#x1f603;前言&#x1f615;二分查找动图演示&#x1f634;代码模板❗️ 使用哪个模板问题 ❗️&#x1f4a2; mid为何1问题 &#x1f4a2;&#x1f603;前言 二分查找也称折半查找&#xff08;Binary Search&#xff09;&#xff0c;它是一种效率较高的查找方法。…

[解决]github上传大文件卡住

0x00 需求 github目前的策略是超过50M的文件不允许上传&#xff0c;推荐使用lfs。 0x01 操作 再把之前提交的commit 回滚&#xff1a; git reset --hard commitId 在配置lfs&#xff1a; git lfs install git lfs track "*.zip" git lfs track "*.jar" git…

【K8S】亲和、反亲和、污点、容忍

文章目录【K8S】亲和、反亲和、污点、容忍K8s调度亲和与反亲和Pod和Node硬亲和和软亲和requiredDuringSchedulingIgnoredDuringExecution&#xff1a;硬策略preferredDuringSchedulingIgnoredDuringExecution&#xff1a;软策略污点与容忍污点&#xff08;Taint&#xff09;污点…

Python学习----基础语法2

布尔类型 布尔本质上是 1 和 0 if 基本语法格式 语法还是比较简单的 , 需要注意的是 , Python是通过空格缩进来判断代码块归属的 ( 不像java这么通过 花括号进行区分 ) , 默认是四个空格 , 你也可以使用两个或者三个等 , 只要全部统一即可 , 但是编辑器会有提示 , 规范是四…

一文带你快速了解ptrdiff_t

简介 ptrdiff_t是C/C标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指针减法操作的结果。 ptrdiff_t定义在stddef.h&#xff08;cstddef&#xff09;这个文件内。 ptrdiff_t通常被定义为long int类型。 ptrdiff_t定义在C99标准中。 标准库类…

【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

文章目录目标代码0.页面结构1.新增按钮和弹出表单&#xff1a;结构2.新增按钮和弹出表单&#xff1a;点击新增弹出表单3.表单样式4.表单验证5.表单的提交和取消功能&#xff1a;接口、mock相关准备6.表单的提交和取消功能提供的数据和接口1-operateFormLabel.js5-user.js效果总…

小程序转App最便捷的方法,附实操

Flutter是谷歌的移动UI框架&#xff0c;可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界&#xff0c;Flutter正在被越来越多的开发者和组织使用&#xff0c;并且Flutter是完全免费、开源的。 它也是构建未来的Google Fuchsia应…

计算机网络(一)网络体系结构

layout: post title: 计算机网络&#xff08;一&#xff09;网络体系结构 description: 计算机网络&#xff08;一&#xff09;网络体系结构 tag: 计算机网络 计算机网络计算机网络体系基本概念网络性能指标数据量与数据速率&#xff08;比特率&#xff09;带宽吞吐量时延时延带…

Python入门自学进阶-Web框架——25、DjangoAdmin项目应用-分页与过滤

对于数据很多&#xff0c;就需要将数据进行分页显示&#xff0c;同时还要提供过滤功能。 当配置文件中配置了过滤条件&#xff0c;那就要在显示表信息的时候&#xff0c;显示过滤条件选择项&#xff0c;选择后进行过滤&#xff0c;然后下面显示过滤后的数据&#xff0c;如果数…

数据结构(单链表)

前沿&#xff1a; 在前面总结的顺序表的时候&#xff0c;最后也说出了他的一些缺点&#xff0c;例如头插/中间插的时候的时间复杂度是O(n)&#xff0c;这个效率并不高&#xff0c;而如何提高效率的实现呢&#xff0c;这里我们可以通过单链表来简单的提高这个效率。 思维导图&am…

java计算机毕业设计springboot+vue在线投票系统

项目介绍 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于在线投票系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了在线投票系统的发展&#xff0c;它彻底改变了…

Java初识:类和对象(上)

文章目录学习目标1.面向对象的初步认识1.1认识面向对象1.2 区分面向对象和面向过程2.类当定义与使用2.1认识简单类2.2 类的定义格式2.3 小试身手-定义类的小练习3.类的实例化3.1 什么是实例化3.2 实例化注意事项&#xff1a;3.3 类和对象说明4. this 引用4.1为什么要用this4.2 …

小程序意见反馈界面(简洁版代码)

在开发个人中心页面时&#xff0c;意见反馈功能是必不可少的&#xff0c;下面介绍该功能的具体开发流程 1、首先看一下效果图&#xff1a; 2、WXML代码&#xff0c;分为三个部分&#xff0c;文本域&#xff08;TextArea&#xff09;、输入框&#xff08;Input)、按钮&#xff…

程序员日常|为什么我在开发工作中偏爱这款键盘?

前言 最近一直不断地有粉丝朋友们私信我&#xff0c;问我该如何给自己挑选一款适合程序员工作的键盘&#xff0c;于是今天来给大家介绍下我用的键盘。 文章目录前言我的键盘亲身经历使用体验视频展示我的键盘 程序员作为一个需要长时间敲代码的职业&#xff0c;没有一个趁手的…

html静态网页设计制作 HTML我的家乡沧州网页代码 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

uint 与 int 相加,事与愿违?

#include <iostream> using namespace std; int main() { uint32_t uint_data -22; int int_data 0; if (uint_data int_data < 0) { cout <<"uint int负数小于0: "; } else { cout <<"…

ARM编程环境搭建教程

随着移动互联网的繁荣发展&#xff0c;物联网人工智能的兴起&#xff0c;嵌入式开发成为了越来越多IT人必须学习的内容&#xff0c;而在嵌入式芯片领域&#xff0c;ARM具有无可撼动的市场占有率&#xff0c;所以说&#xff0c;学习嵌入式不学ARM&#xff0c;不如回家卖红薯。 接…

C++ Reference: Standard C++ Library reference: C Library: cwctype: iswblank

C官网参考链接&#xff1a;https://cplusplus.com/reference/cwctype/iswblank/ 函数 <cwctype> iswblank int iswblank (wint_t c); 检查宽字符是否为空白 检查c是否为空字符。 空白字符是用于分隔一行文本中的单词的空格&#xff08;space character&#xff09;字符…

用色彩活出彩,能率Color Run上海之旅圆满结束

11月8日&#xff0c;以“用色彩&#xff0c;活出彩”为主题的能率|苏宁 Color Run活动&#xff0c;于上海圆满结束。此次活动由燃热领域代表品牌能率与苏宁易购集团联合举办&#xff0c;旨在通过有效户外运动&#xff0c;提倡健康快乐的生活方式&#xff0c;悦享多彩人生。 能率…

摄影网页设计制作 简单静态HTML网页作品 WEB静态摄影网站作业成品 学生DW摄影网站模板

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…