精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

java萬年歷代碼及照片 java萬年歷實驗報告

JAVA萬年歷代碼

/*

創新互聯專注于冷水灘企業網站建設,響應式網站建設,購物商城網站建設。冷水灘網站建設公司,為冷水灘等地區提供建站服務。全流程按需規劃網站,專業設計,全程項目跟蹤,創新互聯專業和態度為您提供的服務

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

思路:

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

2.計算當年以前所有天數+當年當月1號之前所有天數;

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

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

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

d.遍歷數組求和,計算當年當月前總天數;

e.當年以前所有天數+當年當月前總天數+1即為1年1月1日到當年當月1日的總天數;

3.總天數對7取模,根據結果判斷當月1號是星期幾,輸出空白區域;

4.輸出當月日歷表,逢星期六換行

*/

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("日??一??二??三??四??五??六");

//計算當前年份以前所有天數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};????//閏年各月天數????int數組

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

int?beforeMonthTotalDay?=?0;????????????????????????????????????//定義本年當月之前月份的總天數

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

for?(int?i?=?0?;?i??month?;?i?++?)?{????//for循環計算當月之前總天數

//計算當前月份之前的所有天數

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

}

//判斷當月1日是星期幾

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

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

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

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

}

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

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

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

System.out.print("?");

}

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

System.out.println();

}

}

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

for?(int?i?=?0?;?i??month?;?i?++?)?{????//for循環計算出當月之前月份總天數

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

}

//判斷當月1日是星期幾

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

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

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

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

}

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

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

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

System.out.print("?");

}

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

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里怎么做萬年歷,一年的啊

先上張效果圖:以下是實現代碼:/*日歷*/

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" }; // 存放月份的字符數組

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

Calendar ca = Calendar.getInstance();

Container contentPane = getContentPane();

VectorString vector = new VectorString();

String[][] date = new String[6][7]; // 表格的顯示數據的格式

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

JComboBox jb;

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

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

int n = 0, b = 0;

// 動態把傳進來月份的天數存放到容器里

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

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

}

//每次往table里添加數據的時候,都預先把原table里 的 數據清空

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

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

date[x][y] = null;

}

}

// 根據傳進來月份的第一天是星期幾,來構建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;

}

}

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

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)); // 得到當前的系統時間的年份,并把這個數值存放到year這個變量里

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

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

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

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

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

getDate(year, month, week, Max_Day);

// 從月份數組里取出與當前系統時間一樣的月份值

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(); // 調用內部類PaintThread,根據里面的設置來重畫

}

public static void main(String[] args) {

Demo28 d28 = new Demo28();

d28.paint();

}

// 鼠標單擊左邊按鈕觸發的事件

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設置為用戶設置的年份

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

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

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

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

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 根據設置后的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設置為用戶設置的年份

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

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

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

String new_week = String.valueOf(ca

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

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

getDate(new_year, new_month, new_week, Max_Day);

}

} catch (NumberFormatException excption) {

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

}

}

}

// 鼠標單擊右邊按鈕觸發的事件

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設置為用戶設置的年份

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

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

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

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

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

getDate(new_year, new_month, new_week, Max_Day);

}

}

// 鼠標單擊選擇框觸發的事件

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(); // 得到用戶設置的月份

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

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

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

int Max_Day = ca.getActualMaximum(Calendar.DATE); // 根據設置后的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();

}

}

}

}

}


本文標題:java萬年歷代碼及照片 java萬年歷實驗報告
當前路徑:http://m.jcarcd.cn/article/ddchpic.html
主站蜘蛛池模板: 日韩欧美午夜 | 国产精品三级三级 | 日韩欧美亚洲国产 | 国产一区二在线不卡 | 国产亚洲欧洲精品 | 国产专区在线播放 | 国产偷窥盗摄视频 | 午夜在线视频观看 | 日韩视频中文字幕 | 国产日本亚洲一 | 日韩亚洲综合欧美 | 成人日韩在线观 | 91视频在线观看 | 午夜色大片在线观看 | 日本aaa视频| 国产精品网站不卡在 | 日本三级中文电影 | 乱理伦片在线播放 | 亚洲无码高清不卡 | 国产精品搭| 日本一本之道 | 国产午夜网色淫 | 三区四区| 午夜日韩视频在线 | 国产精品三区短视频 | 精品国产爱片 | 91精品午夜福利 | 91丝袜足| 韩国三级视频网站 | 区二区三区综合片 | 国产亚洲欧美日韩 | 日韩国产视频 | 日韩一区二紧身裤 | 午夜色大片在线观看 | 日本三级全黄 | 午夜城人网站 | 91小电影| 乱伦免费影视亚洲 | 另类图片五月天综合 | 韩国日本国产 | 91国内精品在线 |