文档章节

下一秒

 笨拙的小Q
发布于 2016/08/13 14:51
字数 318
阅读 10
收藏 0
import java.util.ArrayList;
import java.util.Scanner;
/**
 * 华为机试 下一秒
 * @author qxl
 *
 */
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			String s = sc.nextLine();
			System.out.println(nextSecond(s));
		}
	}
	public static String nextSecond(String s){
		s = s.replace(" ", "/");
		s = s.replace(":", "/");
		String[]str = s.split("/");
		ArrayList<Integer>list1 = new ArrayList<Integer>();
		list1.add(1);
		list1.add(3);
		list1.add(5);
		list1.add(7);
		list1.add(8);
		list1.add(10);
		list1.add(12);
		ArrayList<Integer>list2 = new ArrayList<Integer>();
		list2.add(4);
		list2.add(6);
		list2.add(9);
		list2.add(11);
		int i1 = Integer.parseInt(str[str.length-1])+1;//秒
		if(i1<10){
			str[str.length-1] = "0" + i1;
		}
		if(i1==60){
			str[str.length-1] = "00";
			int i2 = Integer.parseInt(str[str.length-2])+1;//分
			if(i2<10){
				str[str.length-2] = "0" + i2;
			}
			if(i2==60){
				str[str.length-2] = "00";
				int i3 = Integer.parseInt(str[str.length-3])+1;//时
				if(i3<10){
					str[str.length-3] = "0" + i3;
				}
				if(i3==24){
					str[str.length-3] = "00";
					int i4 = Integer.parseInt(str[2])+1;//日
					if(i4<10){
						str[2] = "0" + i4;
					}
					int i5 = Integer.parseInt(str[1]);//月
					int i6 = Integer.parseInt(str[0]);//年
					if(list1.contains(i5)){
						if(i4==32){
							str[2] = "01";
							i5 = i5+1;
						}
					}
					if(list2.contains(i5)){
						if(i4==31){
							str[2] = "01";
							i5 = i5+1;
						}
					}
					if(i5==2){
						//能被4整除但不能被100整除,或能被400整除的年份为闰年,闰年二月有29天
						if((i6%4==0&&i6%100!=0)||i6%400==0){
							if(i4==30){
								str[2] = "01";
								i5 = i5+1;
							}
						}else{
							if(i4==29){
								str[2] = "01";
								i5 = i5+1;
							}
						}
					}
					if(i5<10){
						str[1] = "0" + i5;
					}
					if(i5==12){
						str[1] = "01";
						i6 = i6+1;
					}
				}
			}
		}
		StringBuffer sb = new StringBuffer();
		for(String ss:str){
			sb.append(ss);
		}
		sb.insert(4, '/');
		sb.insert(7, '/');
		sb.insert(10, ' ');
		sb.insert(13, ':');
		sb.insert(16, ':');
		return sb.toString();
	}

}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 57
码字总数 27842
作品 0
南京
Comodo为什么拦截 一秒vpn这个软件,如何让其不拦截

Comodo为什么拦截 一秒vpn这个软件,一秒vpn是一个免费的软件,之前comodo一直没有拦截它,现在最新版5。0一运行,就会导致浏览器主页被改成http://www.2345.com/?k46893890,但是这个行为应...

kdybdsx
2014/02/08
921
0
javascript小技巧:同步服务器时间、同步倒计时

之前在网上看到有人提问,如何在页面上同步显示服务器的时间,其实实现方法有几种,可能一般人立马就想到可以使用Ajax每隔一秒去请求服务器,然后将服务器获取到时间显示在页面上,这样虽然能...

技术小牛人
2017/11/15
0
0
java 两个list交替存储

比如现有两个List a 与 b 。首先把并发过来的数据放入a, 下一秒再把并发过来的数据放入b,此时对a进行迭代处理,处理完后清空a集合,再下一秒把数据放入a,对b进行迭代处理并清空。如此反复...

林晴朗
2012/11/05
1K
5
python如何动态获取一个目录下的新生文件

描述:假设有一个目录文件夹Files,在该文件夹中,会时时的动态生成新的文件(比如,前一秒只有文件a,后一秒就会增加新的文件b,再下一秒就会生成新的文件c,......),现在想通过写一段程序...

md2python
2015/06/01
1K
2
基于间隔推送全量更新数据状态的设计方法

假如有个直播间,在数据有更新的时候,能及时反映在客户端上。通信方式来说,有两种: 1、拉取模式。 2、推送+拉取模式(或者纯推送) 拉取模式,技术简单。但轮询间隔设置比较难;如果设置得...

郑浩锋
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python深体验,常见的数据处理方式(必须要懂的)

1.缺失值处理 - 拉格朗日插值法 input_file数据文件内容(存在部分缺失值): from scipy.interpolate import lagrangeimport pandas as pdimport numpy as npinput_file = './dat...

无也Python
26分钟前
2
0
Spring MVC注解故障追踪记

Spring MVC是美团点评很多团队使用的Web框架。在基于Spring MVC的项目里,注解的使用几乎遍布在项目中的各个模块,有Java提供的注解,如:@Override、@Deprecated等;也有Spring提供的注解,...

Skqing
28分钟前
4
0
区块链入门教程以太坊源码分析cmd包分析

  兄弟连区块链入门教程以太坊源码分析cmd包分析。 ### cmd包概述 * geth 主要Ethereum CLI客户端。它是Ethereum网络(eth主网,测试网络或私有网)的入口点,使用此命令可以使节点作为ful...

兄弟连区块链入门教程
30分钟前
1
0
@Autowired 报红线

代码可正常跑,不过红线看着有点难受,解决方案 使用@Autowired(required=false) 或者@Resource. 这两者区别网上一大堆

斩神魂
35分钟前
3
0
DataTable中检索信息 (C#)

C#_从DataTable中检索信息 存在于内存中的虚拟表DataTable,绑定在数据显示控件后,如果想在再检索其中某些信息,可以利用DataTable.Select方法进行检索,避免了重复的读取数据库。Select方法...

CS-CS01
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部