`
jythoner
  • 浏览: 609041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java每日一题19

阅读更多
今天是周末,再来一道没有答案的题,没事的朋友coding下,放松一下大脑:)

用Java写一个倒计时程序,比如输入一个日期,格式为20090501,可以计算从当前日期开始到20090501有多少个工作日和多少个自然日


难点在计算工作日上
9
3
分享到:
评论
10 楼 lcwen08 2010-02-10  
严重同意8楼
9 楼 tyra 2009-03-02  
很棒,拿区学习学习
8 楼 hfwork 2009-03-02  
提供个思路,为什么不先把有多少周算出来,然后算一下剩余的几天呢.效率太低....
7 楼 ccjsjymg 2009-02-27  
package util;

import java.util.Calendar;
import java.util.Date;

/**
* @description:倒计时
* 功能:用Java写一个倒计时程序,比如输入一个日期,格式为20090501,
* 可以计算从当前日期开始到20090501有多少个工作日和多少个自然日
*/
public class CountDown {
public static void getNatureDays(){
int i = 0;
int j = 0;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.MONTH, 4);
c2.set(Calendar.DATE, 1);
for(;c1.before(c2);c1.add(Calendar.DATE, 1)){
int day_week = c1.get(Calendar.DAY_OF_WEEK);
if(day_week == 7 || day_week == 1){
j++;
}
i++;
}
System.out.println("当前距20090501有"+j+"个工作日");
System.out.println("当前距20090501有"+i+"个自然日");
}
public static void main(String[] args) {
getNatureDays();
}
}
6 楼 dumylove 2009-02-27  
package net.dbet6;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test1 {
	public static void main(String[] args) {
		String time = "20090510";
		int day1 = 0;// 代表自然日
		int day2 = 0;// 代表休息日,假定周六周日休息
		Calendar ca = Calendar.getInstance();
		Calendar now = Calendar.getInstance();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		try {
			Date date = sdf.parse(time);
			ca.setTime(date);
			System.out.println(sdf.format(ca.getTime()));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		String ss = sdf.format(ca.getTime());
		if (now.before(ca)) {
			while (!sdf.format(now.getTime()).equals(ss)) {// 原本想使用这个方法ca.compareTo(now)!=0不好使
				if (now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
						|| now.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
					day2++;
				}
				day1++;
				now.add(Calendar.DAY_OF_YEAR, 1);
			}
		}

		System.out.println("到" + time + "有" + day2 + "休息日");
		System.out.println("到" + time + "有" + day1 + "自然日");
	}
}

5 楼 dumylove 2009-02-27  
package net.dbet6;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test1 {
public static void main(String[] args) {
String time = "20090510";
int day1 = 0;// 代表自然日
int day2 = 0;// 代表休息日,假定周六周日休息
Calendar ca = Calendar.getInstance();
Calendar now = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
try {
Date date = sdf.parse(time);
ca.setTime(date);
System.out.println(sdf.format(ca.getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

String ss = sdf.format(ca.getTime());
if (now.before(ca)) {
while (!sdf.format(now.getTime()).equals(ss)) {// 原本想使用这个方法ca.compareTo(now)!=0不好使
if (now.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
|| now.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
day2++;
}
day1++;
now.add(Calendar.DAY_OF_YEAR, 1);
}
}

System.out.println("到" + time + "有" + day2 + "休息日");
System.out.println("到" + time + "有" + day1 + "自然日");
}
}
4 楼 aben6448 2009-02-27  
jythoner 写道

aben6448 写道首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。想的太复杂了,呵呵,我的意思是指刨去星期六和星期天,五一啥的,还是带薪休假的嘛

呵呵,明白,这样只需要去掉周末和五一、十一之类的就可以了~~
3 楼 jythoner 2009-02-27  
aben6448 写道

首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。


想的太复杂了,呵呵,我的意思是指刨去星期六和星期天,五一啥的,还是带薪休假的嘛
2 楼 orchid123 2009-02-27  
aben6448 写道

首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。还在思考ing。。。。PS:真羡慕可以周六休息的人。。。。

想的太复杂了吧。。。
1 楼 aben6448 2009-02-27  
首先,节假日不确定,比如清明、五一、十一。其次,节假日有可能跟周六周日重了,这种要去掉。再次,如果要考虑调休的话,就更复杂了。
还在思考ing。。。。
PS:真羡慕可以周六休息的人。。。。

相关推荐

    java教程-每日一课,27天java从入门到进阶

    第一天:语言环境 第二天:常量变量 第三天:流程控制 第四、五天:方法与数组 第六天:类 第七天:对象的出生 第八天:类与类继承 第九天:具体到抽象的升华 第10天:权限内部类包 第11天:API类 第12天:字符串...

    java获取新浪股票信息

    在IT领域,特别是Java开发中,获取实时股票信息是一项常见且重要的功能,尤其在金融、投资和数据分析等应用中。本文将深入探讨如何使用Java语言从新浪获取股票信息,包括理解数据格式、解析数据以及利用这些信息进行...

    java基础复习

    在Java中,`main` 方法是程序的入口点,任何Java应用程序都需要一个 `main` 方法来启动执行。根据给定的部分内容,这里列出了几种不同的 `main` 方法定义方式: - **正确的方式**: ```java public static void ...

    java 课程设计报告

    - **实训一**:Java开发工具的使用,包括Eclipse的基本操作。 - **实训二**:加深对Java流程控制语句的理解与运用。 - **实训三**:Java面向对象编程的概念与实践。 - **实训四**:数组与字符串的使用技巧。 - ...

    基于Java学习的每日代码提交设计源码

    该项目是一个以Java为主要编程语言的代码提交学习平台,包含493个文件,其中包含453个Java源代码文件,19个类定义文件,14个IntelliJ IDEA项目配置文件,4个XML配置文件,2个PNG图片文件,以及1个Git忽略文件,旨在...

    Java IO(输入输出)案例练习

    Java IO(输入输出)是Java编程中至关重要的一个部分,它负责处理程序与外部资源之间的数据传输。在Java中,IO被设计成一种抽象的概念,允许开发者以统一的方式处理各种类型的输入和输出设备,如硬盘、内存、网络...

    河北科技大学java实习报告书.doc

    这篇报告详细记录了一位河北科技大学计算机班学生的Java实习经历,主要在石家庄志诚有限公司进行,时间从2012年11月19日至11月30日。实习的主要目的是深入理解和掌握Java Web开发技术,包括Servlet和JSP,以及相关的...

    高级java笔试题-R-Index:技术知识点索引,每日阅读

    技术知识点索引,每日一读 2016.09.19 [lvs为何不能完全替代DNS轮询] () 2016.09.18 [20个必不可少的Python库] () [基于Docker的RDS,我们是这样做的] () 2016.09.14 [七年编程,几个故事] () 2016.09.13 [虚拟化...

    悬赏任务兼职系统 新款仿牛帮趣闲赚悬赏猫悬赏兔+每日任务平台app运营版

    5.递交网页页面,介绍,有规定自动跳转连接,递交,每日任务规定图,提交审核图,能够 ,进行 付款方式,用支付宝转账,人力审批有取现纪录。 6.顾主任务发布会出现时间限制,请求超时不审批便会全自动审核通过,...

    Java全阶段综合笔试面试题(含答案)

    **19. JAVA源文件中是否可以包括多个类** 可以,但公共类只能有一个且需与文件名相同。 **20. 常见的RuntimeException** - `NullPointerException` - `ArrayIndexOutOfBoundsException` - `NumberFormatException...

    java简易版开心农场源码-readIndex:每日一读

    每日一读 2016.09.18 2016.09.12 2016.09.10 2016.09.07 2016.09.05 2016.09.03 2016.09.02 2016.08.27 2016.08.26 2016.08.25 2016.08.24 2016.08.23 2016.08.21 2016.08.18 2016.08.11 2016.08.10 2016.08.09 2016...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例223 绘制简单直方图 281 实例224 一元线性回归计算 282 实例225 实数矩阵的运算 283 实例226 复数的常见运算 284 实例227 T分布常用计算 285 10.3 Commons IO组件简介 286 实例228 简化文件(夹)删除 286 实例...

    高级java笔试题-KIndex:技术知识点索引,每日一读

    技术知识点索引,每日一读 2016.09.02 2016.09.01 2016.08.31 2016.08.30 2016.08.29 2016.08.26 2016.08.25 2016.08.24 2016.08.23 2016.08.22 2016.08.19 2016.08.18 2016.08.17 2016.08.16 2016.08.15 2016.08.12...

    (完整版)Java系统架构师面试题 (2).docx

    18. JAVA用如何实现每日1亿条记录的数据储存,数据库方面怎么设计? 大规模数据储存可以通过分布式数据库、NoSQL数据库、数据仓库等技术来实现,数据库设计需要考虑性能、可扩展性和安全性等因素。 19. 对应大表...

    java版五子棋源码-shuati:刷题随笔

    2020/10/19 版本号: V1.0 代码地址:https://github.com/dubulingbo/shuati.git 1. 每日五题 题目链接 题目名称 难度 解题思路 完成日期 备注 #101 对称二叉树 S #104 二叉树的最大深度 S #107 二叉树的层次遍历II S...

    疫情期间学生信息管理平台的设计与实现论文-java-ssm-疫情期间学生信息管理平台的设计与实现-文档

    - Java是一种广泛使用的面向对象编程语言,以其平台无关性、安全性、高性能等特点而著称。 - **优点:** - 平台无关性使得开发的应用可以在多种操作系统上运行,提高了系统的可移植性和可维护性。 - 强大的社区...

    timerTask实现每天定时一段时间内执行定时任务

    在Java编程中,`TimerTask` 是一个非常实用的类,用于实现周期性的定时任务。`TimerTask` 是 `java.util.Timer` 类的一个子类,它允许开发者定义一个任务,该任务可以在预定的时间间隔内重复执行。下面我们将深入...

Global site tag (gtag.js) - Google Analytics