欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

萬年歷java基本代碼 一個(gè)簡單的萬年歷java課程設(shè)計(jì)

java中,一段萬年歷代碼,跑起來總是差4天,修改之后也只能讓一部分月份的顯示正確,代碼如下

我改造了一下你的代碼 :

為遠(yuǎn)安等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及遠(yuǎn)安網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、遠(yuǎn)安網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

package?com.mikuma.calendar;

import?java.util.GregorianCalendar;

import?java.util.Scanner;

public?class?Calendar{

public?static?void?main(String[]?args){

int?year?=?0;

int?month?=?0;

Scanner?scanner?=?new?Scanner(System.in);

梁薯?System.out.println("請(qǐng)輸入您要查詢的年份");

year?=?scanner.nextInt();

System.out.println("請(qǐng)輸入您要查詢的月份");

while?(true){

month?=?scanner.nextInt();

if?(month??0?||?month??12){

System.out.println("月份輸入有誤,請(qǐng)重新輸入");

}else{

break;

}

}

printPermanentCalendar(year,?month);

}

/**

*?輸出萬年歷

*?

*?@param?year

*?@param?month

*/

private?static?void?printPermanentCalendar(int?year,int?month){

int?days?=?0;

int?totaldays?=?0;//獲取1990年至查詢的年份的天數(shù)

for?(int?i?=?1900;?i??year;?i++){

totaldays?=?totaldays?+?(isLeapYear(i)???366?:?365);

}

int?beforedays?=?0;//到指定月份的天數(shù)

for?(int?i?=?1;?i?=?month;?i++){

switch?(i)?{

case?1:

case?3:

case?5:

case?7:

case?8:

case?10:

case?12:

days?=?31;

break;

case?4:

case?6:

case?9:

case?11:

days?=?30;

break;

case?2:

襲歲????days?=?isLeapYear(year)???29?:?28;

break;

default:

break;

橡禪者???????????}

if?(i??month){

beforedays?=?beforedays?+?days;

}

}

totaldays?=?totaldays?+?beforedays;//總計(jì)天數(shù),以判斷周幾;

int?weekDay?=?0;

int?temp?=?(1?+?totaldays)?%?7;

if?(temp?==?0){//1990年1月1日星期一,據(jù)此日0天星期一,以此類推

weekDay?=?0;

}else{

weekDay?=?temp;

}

System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");

for?(int?i?=?0;?i??weekDay;?i++){

System.out.print("\t");

}

for?(int?i?=?1;?i?=?days;?i++){

System.out.print(i?+?"\t");

if?((totaldays?+?i)?%?7?==?6){

System.out.print("\n");

}

}

}

private?static?boolean?isLeapYear(int?year){

return?new?GregorianCalendar().isLeapYear(year);

}

}

運(yùn)行:

對(duì)比了下 360日歷:

結(jié)果正確

我們?cè)贉y試下 2017 年 2月

對(duì)比 ?360 日歷

也是正確

用java語言編寫一個(gè)萬年歷程序,要求只顯示陽歷、節(jié)日、還有農(nóng)歷年、閏年

/**

* @(#)AidyCalender.java

*

*

* @author

* @version 1.00 2008/7/19

*/

import java.awt.*;

import java.awt.event.*;

import java.lang.StringBuffer;

import javax.swing.*;

import java.util.*;

import javax.swing.Timer;

import javax.swing.border.*;

public class AidyCalender extends JFrame implements ActionListener,ItemListener{

Date date = new Date();

private GregorianCalendar gregorianCalendar = new GregorianCalendar();

//定義中英文字符數(shù)組存儲(chǔ)星期信息,用于轉(zhuǎn)換顯示

private String[] stringWeekEn = new String[] { "SUN", "MON", "TUE", "WED",

"THU", "FRI", "SAT" };

private String[] stringWeekCn = new String[] { "星期日", "星期一", "星期二", "星期三",

"星期四", "星期五", "星期六" };

//定義存儲(chǔ)月份的信息數(shù)組,用于轉(zhuǎn)換顯示方示

private String[] stringMonthEn = new String[] { "Jan", "Feb", "Mar", "Apr",

"May", "Jun", "Jul", "Aug", "Sept", "Oct", "閉模Nov", "Dec" };

private String[] stringMonthCn = {"一月","二月","三月","四月","五月","六月",

"七月"轎緩緩,"八月","九月","十月","十一月","十二月"};

private String[] sysNowTime = new String[6];//sysNowTime 用于存儲(chǔ)系統(tǒng)時(shí)間的變量

private String[] sysRunTime = new String[6];

private JLabel []labelWeek = new JLabel[7];

private JLabel []labelDay = new JLabel[42];

private JLabel labelTime = new JLabel();

private JPanel panel1 = new JPanel();

private JPanel panel2 = new JPanel();

private JPanel panel3 = new JPanel();

private JComboBox combo1 = new JComboBox();

private JComboBox combo2 = new JComboBox();

private JButton buttonToday = new JButton();

private Border border = BorderFactory.createRaisedBevelBorder();

private Border border1 = BorderFactory.createLineBorder(Color.cyan,3);

public AidyCalender(String title) {

super(title);

for (int y = 1900; y 2101; y++) {

combo1.addItem(" "哪談 + new Integer(y).toString()+"年");

}

for (int m = 0;m12;m++){

combo2.addItem(" "+stringMonthCn[m]);

}

buttonToday.setText("今 天");

setLayout(new FlowLayout());

add(panel1);

add(panel2);

add(panel3);

panel1.setLayout(new GridLayout(1,3,10,0));

panel1.add(combo1);

combo1.addItemListener(this);

panel1.add(combo2);

combo2.addItemListener(this);

panel1.add(buttonToday);

buttonToday.addActionListener(this);

labelTime.setFont(new Font("宋體",Font.PLAIN,16));

labelTime.setForeground(Color.MAGENTA);

panel1.add(labelTime);

Timer time = new Timer(1000,new TimerListener());

time.addActionListener(new TimerListener());

//time.setRepeats(true);

time.start();

//labelTime.addAncestorListener(new TimerListener());

panel2.setLayout(new GridLayout(7,7,0,10));

panel2.setBackground(Color.white);

for(int i=0;i7;i++){

labelWeek[i] = new JLabel();

labelWeek[i].setHorizontalAlignment(0);

if(i==0||i==6){

labelWeek[i].setBackground(Color.blue);

labelWeek[i].setForeground(Color.RED);

labelWeek[i].setFont(new Font("黑體",Font.BOLD,14));

}

else{

labelWeek[i].setForeground(Color.BLACK);

labelWeek[i].setFont(new Font("新宋體",Font.PLAIN,14));

}

labelWeek[i].setText(stringWeekCn[i]);

panel2.add(labelWeek[i]);

}

for(int i= 0;i42;i++){

labelDay[i] = new JLabel();

labelDay[i].setHorizontalAlignment(0);

labelDay[i].setText("");

panel2.add(labelDay[i]);

}

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

setSize(300,300);

setBounds(250, 200, 400, 360);

setVisible(true);

setResizable(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

getSysDate();

setNowDate();

}

public void actionPerformed(ActionEvent ae){

if(ae.getSource()==buttonToday){

setNowDate();

}

}

public void itemStateChanged(ItemEvent aa){

setChangeDate();

}

public int turnWeek(String week){

int i;

for(i=0;i7;i++)

if(week.equalsIgnoreCase(stringWeekEn[i]))

break;

return i;

}

public int turnMonth(String month){

/**

*int turnMonth(String month)

*@month 系統(tǒng)日期中的月,諸如Jan\Feb

*@return int

*返回一個(gè)整數(shù)值,用于尋找stringMonthCn[]數(shù)組中對(duì)應(yīng)的中文月份

*/

int i;

for(i=0;i12;i++)

if(month.equalsIgnoreCase(stringMonthEn[i]))

break;

return i;

}

/**

*setNowDate()

*設(shè)置當(dāng)前系統(tǒng)日期

*/

public void setNowDate(){

setSysDate(getNowYear(),getNowMonth());

getSysRunDate();

setDateNull();

combo1.setSelectedIndex(getShowYear() - 1900);

combo2.setSelectedIndex(getShowMonth());

setDays(getMonthDays(getNowYear(),getNowMonth()),getInitWeek(sysRunTime[0]),getNowDay());

//labelTime.setText(sysNowTime[3]);

//labelTime.setHorizontalAlignment(0);

}

/**Integer getShowYear()

*獲取組合框中應(yīng)該顯示的年份

*/

public void setSysDate(int year,int month){

gregorianCalendar.set(year,month,1);

}

public void setDateNull(){

for(int i=0;i42;i++){

labelDay[i].setText("");

}

}

public void setChangeDate(){

setSysDate(getComboYear(),getComboMonth());

getSysRunDate();

setDateNull();

setDays(getMonthDays(getComboYear(),getComboMonth()),getInitWeek(sysRunTime[0]),-1);

}

public int getMonthDays(int year, int month) {

/**

*返回所選年月的天數(shù),因?yàn)閿?shù)組中的數(shù)值從0開始,所以3\5\8\10分別代表4\6\9\11幾個(gè)小月.

*而1代表2月,經(jīng)過是否為閏年判斷,選擇返回28或29天.

*其余月份為大月,返回31天.

**/

switch (month) {

case 3:

case 5:

case 8:

case 10:

return 30;//小月返回30天

case 1:

if (gregorianCalendar.isLeapYear(year)) {

//isLeapYear(year)確定當(dāng)前紀(jì)元中的指定年份是否為閏年。

return 29;

} else {

return 28;

}//閏年的二月返回29天,平年返回28天

default:

return 31;

//大月返回31天

}

}

/**

*int getComboYear()

*獲取組合框中的年份

*/

public void getSysDate(){

date = gregorianCalendar.getTime();

sysNowTime = (date.toString()).split(" ");

}

public void getSysRunDate(){

date = gregorianCalendar.getTime();

sysRunTime = (date.toString()).split(" ");

}

public int getComboYear(){

return combo1.getSelectedIndex()+1900;

}

/**

*int getComboMonth()

*獲取月組合框中的整數(shù)值,

*/

public int getComboMonth(){

return combo2.getSelectedIndex();

}

public int getInitWeek(String initWeek){

/**

*getWeekNow(String initWeek)

*@para nowWeek 系統(tǒng)日期中的星期

*返回當(dāng)月中的1號(hào)是從星期幾開始

*/

int nowWeek = 0 ;

for(int i = 0;i7;i++){

if(initWeek.equalsIgnoreCase(stringWeekEn[i])){

nowWeek = i;

break;

}

}

return nowWeek;

}

public int getNowYear(){

return Integer.parseInt(sysNowTime[5]);

}

public int getNowMonth(){

int nowMonth=0;

for(int i=0;i12;i++){

if(sysNowTime[1].equalsIgnoreCase(stringMonthEn[i]));

nowMonth=i;

break;

}

return nowMonth;

}

public int getNowDay(){

return Integer.parseInt(sysNowTime[2]);

}

public Integer getShowYear(){

return Integer.parseInt(sysNowTime[5]);

}

public Integer getShowMonth(){

/**

*Integer getShowMonth()

*獲取在組給框中顯示的中文格式月份:如七月\八月等

*/

return turnMonth(sysNowTime[1]);

}

public void setDays(int monthDays,int initWeek,int day){

/**

*void setDays(int monthDays,int initWeek,int day)

*@para monthDays 本月天數(shù)

*@para initWeek 初始星期

*@para day 今天日

*設(shè)置月歷

*/

setDateNull();

for(int i=initWeek;iinitWeek+monthDays+1;i++){

if((i-initWeek+1)==day){

labelDay[i].setBorder(border1);

labelDay[i].setForeground(Color.BLUE);

labelDay[i].setFont(new Font("黑體",Font.BOLD,20));

}else if((i%7==0)||(i%7==6))

labelDay[i].setForeground(Color.RED);

else{

labelDay[i].setForeground(Color.BLACK);

}

labelDay[i].setText(String.valueOf(i-initWeek+1));

}

for(int i=initWeek+monthDays;i42;i++)

labelDay[i].setText("");

}

class TimerListener implements ActionListener{

//AdapterDemo var=new AdapterDemo("萬年歷程序--Aidy");

public void actionPerformed(ActionEvent e) {

GregorianCalendar g = new GregorianCalendar();

String clock = new String((g.getTime().toString().split(" "))[3]);

labelTime.setText(clock);

}

}

public static void main(String args[])

{

try{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

}catch(Exception e){

throw new RuntimeException(e);

}

AidyCalender var=new AidyCalender("萬年歷程序--Aidy");

}

}

本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:

分享文章:萬年歷java基本代碼 一個(gè)簡單的萬年歷java課程設(shè)計(jì)
本文地址:http://chinadenli.net/article11/dsphodd.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)網(wǎng)站營銷微信公眾號(hào)網(wǎng)站排名網(wǎng)頁設(shè)計(jì)公司ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站