import java.util.Calendar;
专注于为中小企业提供成都做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业富平免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
public class MainTester {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
//设置为12月31日
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.DAY_OF_MONTH, 31);
System.out.println("现在日期:" + calendar.getTime());
//再增加一天
calendar.add(Calendar.DAY_OF_MONTH, 1);
System.out.println("增加后的日期:" + calendar.getTime());
}
}
使用Calendar就可以实现,很简单,程序输出为:
现在日期:Tue Dec 31 11:50:55 CST 2013
增加后的日期:Wed Jan 01 11:50:55 CST 2014
import java.util.*;
public class Judge {
/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("输入年份:");
int Num = input.nextInt();
int Y = Num%4;
if ( Y == 0 ) {
System.out.println(+ Num +"份为闰年");
}else{
System.out.println(Num+"份为平年");
}
}
}
这是我当年学java的时候找到资料。
连连看java源代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //分别记录两次被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ连连看");
thisContainer = mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
for(int cols = 0;cols 6;cols++){
for(int rows = 0;rows 5;rows++ ){
diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButton.addActionListener(this);
resetButton=new JButton("重列");
resetButton.addActionListener(this);
newlyButton=new JButton("再来一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins=15;twins++) {
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike=2;alike++) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public void reload() {
int save[] = new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i=6;i++) {
for(int j=0;j=5;j++) {
if(this.grid[i][j]!=0) {
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false; //这里一定要将按钮点击信息归为初始
init();
for(int i = 0;i 6;i++){
for(int j = 0;j 5;j++ ){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz) {
if(pressInformation==false) {
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else {
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg secondButton!=firstButton){
xiao();
}
}
}
public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释
if((x0==x (y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)(y0==y))){ //判断是否相邻
remove();
}
else{
for (j=0;j7;j++ ) {
if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空
if (yj) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边
for (i=y-1;i=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0) {
k=0;
break;
}
else //K=1说明通过了第一次验证
}
if (k==1) {
linePassOne();
}
}
if (yj){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边
for (i=y+1;i=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0){
k=0;
break;
}
else
}
if (k==1){
linePassOne();
}
}
if (y==j ) {
linePassOne();
}
}
if (k==2) {
if (x0==x) {
remove();
}
if (x0x) {
for (n=x0;n=x-1;n++ ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 n==x-1) {
remove();
}
}
}
if (x0x) {
for (n=x0;n=x+1 ;n-- ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 n==x+1) {
remove();
}
}
}
}
}
for (i=0;i8;i++ ) { //列
if (grid[i][y0]==0) {
if (xi) {
for (j=x-1;j=i ;j-- ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else
}
if (k==1) {
rowPassOne();
}
}
if (xi) {
for (j=x+1;j=i;j++ ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else
}
if (k==1) {
rowPassOne();
}
}
if (x==i) {
rowPassOne();
}
}
if (k==2){
if (y0==y) {
remove();
}
if (y0y) {
for (n=y0;n=y-1 ;n++ ) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 n==y-1) {
remove();
}
}
}
if (y0y) {
for (n=y0;n=y+1 ;n--) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 n==y+1) {
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if (y0j){ //第一按钮同行空按钮在左边
for (i=y0-1;i=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮
if (grid[x0][i]!=0) {
k=0;
break;
}
else //K=2说明通过了第二次验证
}
}
if (y0j){ //第一按钮同行空按钮在与第二按钮之间
for (i=y0+1;i=j ;i++){
if (grid[x0][i]!=0) {
k=0;
break;
}
else
}
}
}
public void rowPassOne(){
if (x0i) {
for (j=x0-1;j=i ;j-- ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else
}
}
if (x0i) {
for (j=x0+1;j=i ;j++ ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else
}
}
}
public void remove(){
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==newlyButton){
int grid[][] = new int[8][7];
this.grid = grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation=false;
init();
}
if(e.getSource()==exitButton)
System.exit(0);
if(e.getSource()==resetButton)
reload();
for(int cols = 0;cols 6;cols++){
for(int rows = 0;rows 5;rows++ ){
if(e.getSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
lianliankan llk = new lianliankan();
llk.randomBuild();
llk.init();
}
}
//old 998 lines
//new 318 lines
/**
* 获取两个日期相差的天数
* @param big
* @param small
* @return
*/
public static int getTwoDatesDifOfDay(Date big,Date small){
Calendar cal1 = Calendar.getInstance();
cal1.setTime(big);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(small);
if(cal1.get(Calendar.MONTH) != 11 cal2.get(Calendar.MONTH)==11){//跨年
Calendar cal3 = Calendar.getInstance();
cal3.set(Calendar.MONTH, 11);
cal3.set(Calendar.DAY_OF_MONTH, 31);
return cal3.get(Calendar.DAY_OF_YEAR)-cal2.get(Calendar.DAY_OF_YEAR)+cal1.get(Calendar.DAY_OF_YEAR);
}else{
return cal1.get(Calendar.DAY_OF_YEAR)-cal2.get(Calendar.DAY_OF_YEAR);
}
}
/**
* 获取两个日期相差的周数
* @param big
* @param small
* @return
*/
public static int getTwoDatesDifOfWeek(Date big,Date small){
Calendar cal1 = Calendar.getInstance();
cal1.setTime(big);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(small);
if(cal1.get(Calendar.MONTH) != 11 cal2.get(Calendar.MONTH)==11){//跨年
Calendar cal3 = Calendar.getInstance();
cal3.set(Calendar.MONTH, 11);
cal3.set(Calendar.DAY_OF_MONTH, 31);
return cal3.get(Calendar.WEEK_OF_YEAR)-cal2.get(Calendar.WEEK_OF_YEAR)+cal1.get(Calendar.WEEK_OF_YEAR);
}else{
return cal1.get(Calendar.WEEK_OF_YEAR)-cal2.get(Calendar.WEEK_OF_YEAR);
}
}
给定一个时间范围判断周的范围并且跨年为新的一周即跨年时分为两周
public class Week{
public static void main(String[] args) {
SimpleDateFormat myFormatterExt = new SimpleDateFormat("yyyy-MM-dd");
Date b_date = null;
Date e_date = null;
try {
b_date = myFormatterExt.parse("2010-12-26");//开始时间
e_date = myFormatterExt.parse("2011-01-06");//结束时间
//e_date = myFormatterExt.parse("2011-01-08");
// date= myFormatterExt.parse("2010-12-31 00:00:00");
// String week = HNFDCommon.getWeek(date);
//System.out.println(week+"week");
} catch (ParseException e) {
e.printStackTrace();
}
b_date = getFirstDayOfWeek(b_date);
e_date = getLastDayOfWeek(e_date);
int dayOfweek = 0; //日期为星期几判断12月最后一个星期用
while (b_date.getTime() == e_date.getTime() || b_date.before(e_date))
{
String week = HNFDCommon.getWeek(b_date);
System.out.println(week+"ddd"+myFormatterExt.format(b_date));
String days = myFormatterExt.format(b_date).substring(8,10);
if(dayOfweek0){
b_date.setDate(b_date.getDate() +(7-dayOfweek));
dayOfweek = 0;
}else{
if(Integer.parseInt(week.substring(5,7))=50 (31- Integer.parseInt(days))7){
Date c_date = new Date();
c_date.setYear(b_date.getYear());
c_date.setMonth(b_date.getMonth());
c_date.setDate(31);
dayOfweek = getDayOfWeek(c_date);
b_date.setDate(b_date.getDate() +dayOfweek-1);
if(week.equals(HNFDCommon.getWeek(b_date))){
b_date.setDate(b_date.getDate() +(7-dayOfweek));
dayOfweek = 0;
}
}
else{
b_date.setDate(b_date.getDate() +7);
}
}
}
}
public static Date getLastDayOfWeek(Date date) {
SimpleDateFormat sd = new SimpleDateFormat("yyyy");
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.SUNDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()+6); // Sunday
if(!sd.format(date).equals(sd.format(c.getTime()))){
c.setTime(date);
}
return c.getTime();
}
public static Date getFirstDayOfWeek(Date date) {
SimpleDateFormat sd = new SimpleDateFormat("yyyy");
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.SUNDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Sunday
if(!sd.format(date).equals(sd.format(c.getTime()))){
c.setTime(date);
}
return c.getTime();
}
public static int getDayOfWeek(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.SUNDAY);
c.setTime(date);
//c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.get(Calendar.DAY_OF_WEEK);
}
}
HNFDCommon 类中:
public static String getWeek(Date date)
{
String rtn="";
int year;
int week;
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Calendar cd = Calendar.getInstance();
cd.setTime(date);
year=cd.get(Calendar.YEAR);
week = cd.get(Calendar.WEEK_OF_YEAR);
//System.out.println("ttt"+sd.format(cd.getTime())+"bbb"+week);
int vmonth = cd.get(Calendar.MONTH)+1;
if(week == 1 vmonth == 12){
cd.add(Calendar.WEEK_OF_YEAR,-1);
week =cd.get(Calendar.WEEK_OF_YEAR)+1;
}
if(week 6 vmonth == 1){
year--;
}
if(week 10){
rtn=year+"00"+week;
}
else{
rtn=year+"0"+week;
}
return rtn;
}
当前文章:java跨年代码,一起跨年代码
当前URL:https://www.cdcxhl.com/article36/hshdpg.html
成都网站建设公司_创新互联,为您提供、微信小程序、营销型网站建设、网站建设、静态网站、网站策划
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联