真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java萬年歷代碼及照片 java萬年歷實(shí)驗(yàn)報告

JAVA萬年歷代碼

/*

創(chuàng)新互聯(lián)專注于冷水灘企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),購物商城網(wǎng)站建設(shè)。冷水灘網(wǎng)站建設(shè)公司,為冷水灘等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計,全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

題目:輸出任意年份任意月份的日歷表(公元后)

思路:

1.已知1年1月1日是星期日,1?%?7?=?1?對應(yīng)的是星期日,2?%?7?=?2?對應(yīng)的是星期一,以此類推;

2.計算當(dāng)年以前所有天數(shù)+當(dāng)年當(dāng)月1號之前所有天數(shù);

a.年份分平年閏年,平年365天,閏年366天;

b.閏年的判斷方法year?%?400?==?0?||?(year?%?100?!=?0??year?%?4?==?0)若為真,則為閏年否則為平年;

c.定義平年/閏年數(shù)組,包含各月天數(shù);

d.遍歷數(shù)組求和,計算當(dāng)年當(dāng)月前總天數(shù);

e.當(dāng)年以前所有天數(shù)+當(dāng)年當(dāng)月前總天數(shù)+1即為1年1月1日到當(dāng)年當(dāng)月1日的總天數(shù);

3.總天數(shù)對7取模,根據(jù)結(jié)果判斷當(dāng)月1號是星期幾,輸出空白區(qū)域;

4.輸出當(dāng)月日歷表,逢星期六換行

*/

import?java.util.Scanner;

class?FindMonthList?{

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

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

System.out.println("請輸入年份:");

int?year?=?sc.nextInt();????????????//年份

if?(year??1)?{????????????????????????//判斷非法輸入年份

System.out.println("輸入錯誤!");

return;

}

System.out.println("請輸入月份:");

int?month?=?sc.nextInt();????????????//月份

if?(month??1?||?month??12)?{????????//判斷非法輸入月份

System.out.println("輸入錯誤!");

return;

}

//輸出表頭

System.out.println("-------"?+?year?+?"?年?"?+?month?+?"?月?"?+?"-------");

System.out.println();

System.out.println("日??一??二??三??四??五??六");

//計算當(dāng)前年份以前所有天數(shù)beforeYearTotalDay;每4年一個閏年,閏年366天,平年365天

int?beforeYearTotalDay?=?((year?-?1)?/?4?*?366)?+?(year-1?-?((year?-?1)?/?4))?*?365;

int[]?arrLeapYear?=?{0,31,29,31,30,31,30,31,31,30,31,30,31};????//閏年各月天數(shù)????int數(shù)組

int[]?arrNormalYear?=?{0,31,28,31,30,31,30,31,31,30,31,30,31};????//平年各月天數(shù)????int數(shù)組

int?beforeMonthTotalDay?=?0;????????????????????????????????????//定義本年當(dāng)月之前月份的總天數(shù)

if?(year?%?400?==?0?||?(year?%?100?!=?0??year?%?4?==?0))?{????//判斷當(dāng)前年份是否是閏年

for?(int?i?=?0?;?i??month?;?i?++?)?{????//for循環(huán)計算當(dāng)月之前總天數(shù)

//計算當(dāng)前月份之前的所有天數(shù)

beforeMonthTotalDay?=?beforeMonthTotalDay?+?arrLeapYear[i];

}

//判斷當(dāng)月1日是星期幾

int?totalDay?=?beforeYearTotalDay?+?beforeMonthTotalDay?+?1;

int?week?=?totalDay?%?7;//已知1年1月1日是星期日,即模7得1對應(yīng)的是星期日

for?(int?i?=?0?;?i??(week?-?1?+?7)?%?7?;?i?++)?{????//如果寫成i??(week-1)會出現(xiàn)i-1的情況

System.out.print("????");//輸出開頭空白

}

for?(int?i?=?1?;i?=?arrLeapYear[month]?;i?++?)?{????//for循環(huán)輸出各月天數(shù)

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

if?(i??10?)?{????????//小于10的數(shù)補(bǔ)一個空格,以便打印整齊

System.out.print("?");

}

if?(i?%?7?==?((7-(week?-?1))?%?7?)?||?i?==?arrLeapYear[month])?{//每逢星期六/尾數(shù)換行

System.out.println();

}

}

}?else?{????????//不是閏年就是平年

for?(int?i?=?0?;?i??month?;?i?++?)?{????//for循環(huán)計算出當(dāng)月之前月份總天數(shù)

beforeMonthTotalDay?=?beforeMonthTotalDay?+?arrNormalYear[i];

}

//判斷當(dāng)月1日是星期幾

int?totalDay?=?beforeYearTotalDay?+?beforeMonthTotalDay?+?1;

int?week?=?totalDay?%?7;//已知1年1月1日是星期日,即模7得1對應(yīng)的是星期日

for?(int?i?=?0?;?i??(week?-?1?+?7)?%?7?;?i?++)?{????//如果寫成i??(week-1)會出現(xiàn)i-1的情況

System.out.print("????");//輸出開頭空白

}

for?(int?i?=?1?;i?=?arrNormalYear[month]?;i?++?)?{//for循環(huán)輸出各月天數(shù)

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

if?(i??10?)?{????????????//小于10的數(shù)補(bǔ)一個空格,以便打印整齊

System.out.print("?");

}

if?(i?%?7?==?((7-(week?-?1))?%?7?)?||?i?==?arrNormalYear[month])?{//每逢星期六/尾數(shù)換行

System.out.println();

}

}

}

}

}

顯示效果:

求一個java swing帶界面的萬年歷代碼

按照你的要求編寫的Java swing 帶界面的萬年歷代碼如下

//日歷

import?java.awt.BorderLayout;

import?java.awt.Color;

import?java.awt.Font;

import?java.awt.GridLayout;

import?java.awt.event.ActionEvent;

import?java.awt.event.ActionListener;

import?java.util.Calendar;

import?javax.swing.BorderFactory;

import?javax.swing.JButton;

import?javax.swing.JFrame;

import?javax.swing.JLabel;

import?javax.swing.JPanel;

public?class?CCI?extends?JFrame?implements?ActionListener{

JButton?jb1=new?JButton("");

JButton?jb2=new?JButton("");

JButton?jb3=new?JButton("");

JButton?jb4=new?JButton("");

JPanel?jp1=new?JPanel();

JPanel?jp2=new?JPanel();

JPanel?jp3=new?JPanel();

JPanel?jp4=new?JPanel();

JLabel?jl1=new?JLabel();

JLabel?jl2=new?JLabel();

JLabel[]jl=new?JLabel[49];

String?[]week={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

Calendar?c=Calendar.getInstance();

int?year,month,day;

int?nowyear,nowmonth,nowday;

CCI(){

super("簡單日歷");

nowyear=c.get(Calendar.YEAR);

nowmonth=c.get(Calendar.MONTH)+1;

nowday=c.get(Calendar.DAY_OF_MONTH);

year=nowyear;

month=nowmonth;

day=nowday;

String?s=year+"年"+month+"月";

jl1.setForeground(Color.RED);

jl1.setFont(new?Font(null,Font.BOLD,20));

jl1.setText(s);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

jb4.addActionListener(this);

jp1.add(jb1);jp1.add(jb2);jp1.add(jl1);jp1.add(jb3);jp1.add(jb4);

jp2.setLayout(null);

createMonthPanel();

jp2.add(jp3);

jl2.setFont(new?Font(null,Font.BOLD,20));

jl2.setText("今天是"+nowyear+"年"+nowmonth+"月"+nowday+"日");

jp4.add(jl2);

add(jp1,BorderLayout.NORTH);

add(jp2,BorderLayout.CENTER);

add(jp4,BorderLayout.SOUTH);

setSize(500,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

setVisible(true);

}

@Override

public?void?actionPerformed(ActionEvent?ae)?{

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

year=year-1;

String?s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

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

if(month==1){

year=year-1;

month=12;

}else{

month=month-1;

}

String?s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

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

if(month==12){

year=year+1;

month=1;

}else{

month=month+1;

}

String?s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

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

year=year+1;

String?s=year+"年"+month+"月";

jl1.setText(s);

jp3.removeAll();

createMonthPanel();

jp3.validate();

}

}

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

new?CCI();

}

public?int?getMonthDays(int?year,?int?month)?{?

switch?(month)?{

case?1:?

case?3:?

case?5:?

case?7:

case?8:?

case?10:?

case?12:

return?31;?

case?2:?

if?((year%4==0year%100!=0)||year%400==0)?{?

return?29;?

}?else?{?

return?28;?

}?

default:?

return?30;?

}?

}?

public?void?createMonthPanel(){

c.set(year,?month-1,?getMonthDays(year,month));

int?weekOfMonth=c.get(Calendar.WEEK_OF_MONTH);

if(weekOfMonth==6){

jp3.setLayout(new?GridLayout(7,7));

jp3.setBounds(50,?20,?420,?350);

}else{

jp3.setLayout(new?GridLayout(6,7));

jp3.setBounds(50,?20,?420,?300);

}

jp3.setBorder(BorderFactory.createEtchedBorder());

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

jl[i]=new?JLabel(week[i],JLabel.CENTER);

jl[i].setFont(new?Font(null,Font.BOLD,20));

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

c.set(year,?month-1,?1);

int?emptyFirst=c.get(Calendar.DAY_OF_WEEK)-1;

int?daysOfMonth=getMonthDays(year,month);

for(int?i=6+emptyFirst;i=7;i--){

int?intyear=year;

int?intmonth=month;

if(intmonth==1){

intyear=intyear-1;

intmonth=12;

}else{

intmonth=intmonth-1;

}

int?intdays=getMonthDays(intyear,intmonth);

jl[i]=new?JLabel((intdays+7-i)+"",JLabel.CENTER);

jl[i].setFont(new?Font(null,Font.BOLD,20));

jl[i].setForeground(Color.GRAY);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

for(int?i=7+emptyFirst;idaysOfMonth+7+emptyFirst;i++){

jl[i]=new?JLabel((i-7-emptyFirst+1)+"",JLabel.CENTER);

jl[i].setFont(new?Font(null,Font.BOLD,20));

if((i+1)%7==0?||?(i+1)%7==1){

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

}else?if((i-7-emptyFirst+1)==nowdaymonth==nowmonthyear==nowyear)

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

else

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

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

if(weekOfMonth==6)

for(int?i=48;i=daysOfMonth+emptyFirst+7;i--){

jl[i]=new?JLabel((49-i)+"",JLabel.CENTER);

jl[i].setFont(new?Font(null,Font.BOLD,20));

jl[i].setForeground(Color.GRAY);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

else

for(int?i=41;i=daysOfMonth+emptyFirst+7;i--){

jl[i]=new?JLabel((42-i)+"",JLabel.CENTER);

jl[i].setFont(new?Font(null,Font.BOLD,20));

jl[i].setForeground(Color.GRAY);

jl[i].setBorder(BorderFactory.createEtchedBorder());

jp3.add(jl[i]);

}

}

}

在java里怎么做萬年歷,一年的啊

先上張效果圖:以下是實(shí)現(xiàn)代碼:/*日歷*/

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.util.regex.Pattern;

import javax.swing.*;

public class Demo28 extends JFrame {

int m = 1;

String[] monthchoose = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",

"11", "12" }; // 存放月份的字符數(shù)組

String[] columnNames = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; // 存放星期的字符數(shù)組

Calendar ca = Calendar.getInstance();

Container contentPane = getContentPane();

VectorString vector = new VectorString();

String[][] date = new String[6][7]; // 表格的顯示數(shù)據(jù)的格式

TextField tf; // 文本框的值代表的是年份

JComboBox jb;

JTable table; // 把日期用table的方式顯示出來

public void getDate(String year, String month, String week, int Max_Day) {

int n = 0, b = 0;

// 動態(tài)把傳進(jìn)來月份的天數(shù)存放到容器里

for (int j = 1; j = Max_Day; j++) {

vector.add(String.valueOf(j));

}

//每次往table里添加數(shù)據(jù)的時候,都預(yù)先把原table里 的 數(shù)據(jù)清空

for(int x = 0;xdate.length;x++){

for(int y = 0;ydate[x].length;y++){

date[x][y] = null;

}

}

// 根據(jù)傳進(jìn)來月份的第一天是星期幾,來構(gòu)建Table

for (int a = Integer.parseInt(week) - 1; a date[0].length; a++) {

date[0][a] = new String((String) vector.toArray()[n]);

n++;

}

for (int i = 1; i date.length; i++) {

for (int j = 0; j date[i].length; j++) {

if (n vector.size()) {

date[i][j] = new String((String) vector.toArray()[n]);

n++;

} else

break;

}

}

// 把容器里的數(shù)據(jù)全部清除,以備下次再存放新的數(shù)據(jù)

while (b vector.size()) {

vector.remove(b);

}

}

public void chooseDate(String day) {

JLabel label = new JLabel();

for (int y = 0; y date.length; y++) {

for (int z = 0; z date[y].length; z++) {

System.out.print(date[y][z] + " ");

System.out.println(day);

if (date[y][z] != null) {

if (date[y][z].equals(day)) {

table.setSelectionBackground(Color.yellow);

return;

}

}

}

}

}

public void paint() {

setTitle("日歷");

setBounds(200, 200, 350, 178);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

int m = 0;

String year = String.valueOf(ca.get(Calendar.YEAR)); // 得到當(dāng)前的系統(tǒng)時間的年份,并把這個數(shù)值存放到y(tǒng)ear這個變量里

String month = String.valueOf(ca.get(Calendar.MONTH) + 1); // 得到當(dāng)前的系統(tǒng)時間的月份,并把這個數(shù)值存放到month這個變量里

String day = String.valueOf(ca.get(Calendar.DATE)); // 得到當(dāng)前的系統(tǒng)時間的日期,并把這個數(shù)值存放到day這個變量里

ca.set(Calendar.DATE, 1); // 把Calendar 對象的DATA設(shè)置為1

String week = String.valueOf(ca.get(Calendar.DAY_OF_WEEK)); // 根據(jù)設(shè)置的Calendar對象,計算出這個月第一天是星期幾

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 得到當(dāng)前系統(tǒng)時間月份有多少天

getDate(year, month, week, Max_Day);

// 從月份數(shù)組里取出與當(dāng)前系統(tǒng)時間一樣的月份值

for (int i = 0; i monthchoose.length; i++) {

if (monthchoose[i].equals(month)) {

m = i;

}

}

JToolBar toolBar = new JToolBar();

JButton b1 = new JButton("<");

b1.addMouseListener(new myMouseListener1());

JButton b2 = new JButton(">");

b2.addMouseListener(new myMouseListener2());

JLabel j1 = new JLabel("年");

JLabel j2 = new JLabel("月");

tf = new TextField(5);

tf.addKeyListener(new myKeyListener());

tf.setText(year);

jb = new JComboBox(monthchoose);

jb.setSelectedIndex(m);

jb.addActionListener(new myActionListener3());

table = new JTable(date, columnNames);

//table.addMouseListener(new tableMouseListener());

table.setPreferredScrollableViewportSize(new Dimension(350, 150));

JScrollPane jsp = new JScrollPane(table);

contentPane.add(jsp, BorderLayout.CENTER);

chooseDate(day);

toolBar.add(b1);

toolBar.add(tf);

toolBar.add(b2);

toolBar.add(j1);

toolBar.add(jb);

toolBar.add(j2);

toolBar.setLocation(0, 0);

toolBar.setSize(400, 15);

contentPane.add(toolBar, BorderLayout.NORTH);

setVisible(true);

new Thread(new PaintThread()).start(); // 調(diào)用內(nèi)部類PaintThread,根據(jù)里面的設(shè)置來重畫

}

public static void main(String[] args) {

Demo28 d28 = new Demo28();

d28.paint();

}

// 鼠標(biāo)單擊左邊按鈕觸發(fā)的事件

class myMouseListener1 extends MouseAdapter {

public void mouseClicked(MouseEvent e) {

String str = tf.getText().trim(); // 得到文本框的值

int i = Integer.parseInt(str);

i = i - 1;

tf.setText(String.valueOf(i));

String new_year = String.valueOf(i); // 把表示年份的文本框的值存放到變量new_year里

ca.set(Calendar.YEAR, i); // 把Calendar 對象的YEAR設(shè)置為用戶設(shè)置的年份

String new_month = (String) jb.getSelectedItem(); // 得到月份值

ca.set(Calendar.MONTH, Integer.parseInt(new_month) - 1); // 把Calendar對象的MONTH設(shè)置為用戶設(shè)置的月份

ca.set(Calendar.DATE, 1); // 把Calendar 對象的DATA設(shè)置為1

String new_week = String.valueOf(ca.get(Calendar.DAY_OF_WEEK)); // 根據(jù)設(shè)置的Calendar對象,計算出這個月第一天是星期幾

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 根據(jù)設(shè)置后的Calendar對象計算這個月份有多少天

getDate(new_year, new_month, new_week, Max_Day);

}

}

class myKeyListener extends KeyAdapter {

public void keyReleased(KeyEvent e) {

try {

int i = Integer.parseInt(tf.getText().trim());

int key = e.getKeyCode();

if (key == KeyEvent.VK_ENTER) {

String new_year = String.valueOf(i);

ca.set(Calendar.YEAR, i); // 把Calendar對象的YEAR設(shè)置為用戶設(shè)置的年份

String new_month = (String) jb.getSelectedItem(); // 得到月份值

ca.set(Calendar.MONTH, Integer.parseInt(new_month) - 1); // 把Calendar對象的MONTH設(shè)置為用戶設(shè)置的月份

ca.set(Calendar.DATE, 1); // 把Calendar 對象的DATA設(shè)置為1

String new_week = String.valueOf(ca

.get(Calendar.DAY_OF_WEEK)); // 根據(jù)設(shè)置的Calendar對象,計算出這個月第一天是星期幾

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 根據(jù)設(shè)置后的Calendar對象計算這個月份有多少天

getDate(new_year, new_month, new_week, Max_Day);

}

} catch (NumberFormatException excption) {

System.out.println("你輸入的年份不正確!");

}

}

}

// 鼠標(biāo)單擊右邊按鈕觸發(fā)的事件

class myMouseListener2 extends MouseAdapter {

public void mouseClicked(MouseEvent e) {

String str = tf.getText().trim();

int i = Integer.parseInt(str);

i = i + 1;

tf.setText(String.valueOf(i));

String new_year = String.valueOf(i); // 把表示年份的文本框的值存放到變量new_year里

ca.set(Calendar.YEAR, i); // 把Calendar 對象的YEAR設(shè)置為用戶設(shè)置的年份

String new_month = (String) jb.getSelectedItem(); // 得到月份值

ca.set(Calendar.MONTH, Integer.parseInt(new_month) - 1); // 把Calendar對象的MONTH設(shè)置為用戶設(shè)置的月份

ca.set(Calendar.DATE, 1); // 把Calendar 對象的DATA設(shè)置為1

String new_week = String.valueOf(ca.get(Calendar.DAY_OF_WEEK)); // 根據(jù)設(shè)置的Calendar對象,計算出這個月第一天是星期幾

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 根據(jù)設(shè)置后的Calendar對象計算這個月份有多少天

getDate(new_year, new_month, new_week, Max_Day);

}

}

// 鼠標(biāo)單擊選擇框觸發(fā)的事件

class myActionListener3 implements ActionListener {

public void actionPerformed(ActionEvent e) {

String new_year = String.valueOf(ca.get(Calendar.YEAR)); // 把表示年份的文本框的值存放到變量new_year里

String new_month = (String) jb.getSelectedItem(); // 得到用戶設(shè)置的月份

ca.set(Calendar.MONTH, Integer.parseInt(new_month) - 1); // 把Calendar對象的月份值設(shè)置為用戶定義的月份

ca.set(Calendar.DATE, 1); // 把Calendar 對象的DATA設(shè)置為1

String new_week = String.valueOf(ca.get(Calendar.DAY_OF_WEEK)); // 根據(jù)設(shè)置的Calendar對象,計算出這個月第一天是星期幾

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 根據(jù)設(shè)置后的Calendar對象計算這個月份有多少天

getDate(new_year, new_month, new_week, Max_Day);

}

}

// 重畫組件

private class PaintThread implements Runnable {

public void run() {

while (true) {

repaint();

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

}


網(wǎng)頁標(biāo)題:java萬年歷代碼及照片 java萬年歷實(shí)驗(yàn)報告
標(biāo)題網(wǎng)址:http://weahome.cn/article/ddchpic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部