亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fff.java

?? 我在學習JAVA的講義
?? JAVA
字號:
import java.applet.Applet; 

import java.awt.*; 

import java.util.Date; 



public class Calendar extends Applet 

{ 

static final int YTOP = 90;   /* 日歷上方的空白 */ 

static final int YHEADER = 30; /* 日期名稱行的高度 */ 

static final int NCELLX = 7;   /* 橫行的方格數 */ 

static final int CELLSIZE = 60; /* 方格的大小 */ 

static final int MARGIN = 8;   /* 數字距方格上方和右方的空白 */ 

static final int FEBRUARY = 1; /* 閏年的特殊月份 */ 



// 日歷上方的控件. 

Label yearLabel = new Label("Year:"); 

TextField yearTextField = new TextField("1996", 5); 

Label monthLabel = new Label("Month:"); 

Choice monthChoice = new Choice(); 

Button newCalButton = new Button("New Calendar"); 



// 當前年份和月份的日期對象. 

Date now = new Date(); 



// 日歷上方的控件的字體. 

Font smallArialFont = new Font("Arial", Font.PLAIN, 15); 

// 日歷上方年月標題的字體. 

Font largeArialFont = new Font("Arial", Font.BOLD, 30); 



String days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", 

         "Thursday", "Friday", "Saturday"}; 



String months[] = {"January", "February", "March", "April", 

           "May", "June", "July", "August", "September", 

           "October", "November", "December"}; 



int DaysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 



// 用戶輸入的年和月. 

int userMonth; 

int userYear; 



public void init() 

/* 

   功能: 獲取當前的年份和月份,初始化控件. 

   注意: 程序啟動時,自動調用. 

*/ 

  { 

  setBackground(Color.white); 



  // 初始話月份和年份為當前值. 

  userMonth = now.getMonth(); 

  userYear = now.getYear() + 1900; 



  // "Year:" 標簽. 

  yearLabel.setFont(smallArialFont); 

  add(yearLabel); 



  // 輸入年份的文本區. 

  yearTextField.setFont(smallArialFont); 

  yearTextField.setText(String.valueOf(userYear)); 

  add(yearTextField); 



  // "Month:" 標簽. 

  monthLabel.setFont(smallArialFont); 

  add(monthLabel); 



  // 輸入月份的組合框. 

  monthChoice.setFont(smallArialFont); 

  for (int i = 0; i < 12; i++) 

   monthChoice.addItem(months[i]); 

  monthChoice.select(userMonth); 

  add(monthChoice); 



  // "新日歷" 按紐. 

  newCalButton.setFont(smallArialFont); 

  add(newCalButton); 

  } // 初始化 



public void paint(Graphics g) 

/* 

   功能: 根據全局變量 userMonth 和 userYear 繪制日歷. 

   注意: 當界面需要重畫時會自動調用,用戶點擊"新日歷" 按紐,也會觸發重畫功能. 

*/ 

  { 

  FontMetrics fm;   /* 獲取字體信息 */ 

  int fontAscent;   /* 字符高度 */ 

  int dayPos;     /* 日期字符串豎直方向的位置 */ 

  int xSize, ySize; /* 日歷的大小 (單元格) */ 

  int numRows;    /* 行數 (4, 5, 6) */ 

  int xNum, yNum;   /* number position at top right of cells */ 

  int numDays;    /* 該月的天數 */ 

  String dayStr;   /* 一周中星期字符串 */ 

  int marg;     /* margin of month string baseline from cell table */ 

  String caption;   /* 上方中心的月份 */ 



  // 獲取字體信息. 

  fm = g.getFontMetrics(); 

  fontAscent = fm.getAscent(); 

  dayPos = YTOP + (YHEADER + fontAscent) / 2; 



  // 日歷的寬度 (單元格). 

  xSize = NCELLX * CELLSIZE; 



  // Header rectangle across top for day names. 

  g.drawRect(0, YTOP, xSize, YHEADER); 



  // Put days at top of each column, centered. 

  for (int i = 0; i < NCELLX; i++) 

   g.drawString(days[i], (CELLSIZE-fm.stringWidth(days[i]))/2 + i*CELLSIZE, 

         dayPos); 



  // 獲取該月需要的行數 

  numRows = NumberRowsNeeded(userYear, userMonth); 



  // 表格的豎直線. 

  ySize = numRows * CELLSIZE; 

  for (int i = 0; i <= xSize; i += CELLSIZE) 

   g.drawLine(i, YTOP + YHEADER, i, YTOP + YHEADER + ySize); 



  // 表格的水平線. 

  for (int i = 0, j = YTOP + YHEADER; i <= numRows; i++, j += CELLSIZE) 

   g.drawLine(0, j, xSize, j); 



  // 初始數字的位置(右上角單元). 

  xNum = (CalcFirstOfMonth(userYear, userMonth) + 1) * CELLSIZE - MARGIN; 

  yNum = YTOP + YHEADER + MARGIN + fontAscent; 



  // 獲取該月的天數, 如果是閏年的二月, 加一天. 

  numDays = DaysInMonth[userMonth] + 

       ((IsLeapYear(userYear) && (userMonth == FEBRUARY)) ? 1 : 0); 



  // 在每個表格的右上角顯示數字. 

  for (int day = 1; day <= numDays; day++) 

   { 

   dayStr = String.valueOf(day); 

   g.drawString(dayStr, xNum - fm.stringWidth(dayStr), yNum); 

   xNum += CELLSIZE; 



   if (xNum > xSize) 

    { 

    xNum = CELLSIZE - MARGIN; 

    yNum += CELLSIZE; 

    } // if 

   } // for 



  // 設置年月標題為大字體. 

  g.setFont(largeArialFont); 

  // 獲取字體信息 (當前為大字體). 

  fm = g.getFontMetrics(); 

  // 設置標題在豎直方向的空白. 

  marg = 2 * fm.getDescent(); 



  // 設置標題為月份, 并在中間位置. 

  caption = months[userMonth] + " " + String.valueOf(userYear); 

  g.drawString(caption, (xSize-fm.stringWidth(caption))/2, YTOP - marg); 

  } // 繪制 



public boolean action(Event e, Object o) 

/* 

   功能: 刷新年月的全局變量, 當用戶點擊按紐時繪制. 

*/ 

  { 

  int userYearInt; 



  if (e.target instanceof Button) 

   { 

   if ("New Calendar".equals((String)o)) 

    { 

    // 從組合框中選擇月份. 

    userMonth = monthChoice.getSelectedIndex(); 



    // 從文本框獲取年份. 

    userYearInt = Integer.parseInt(yearTextField.getText(), 10); 

    if (userYearInt > 1581) 

     userYear = userYearInt; 



    // 調用 paint() 繪制新日歷. 

    repaint(); 

    return true; 

    } 

   } 



  return false; 

  } 



int NumberRowsNeeded(int year, int month) 

/* 

   功能: 計算日歷需要的行數. 

   輸入: year = 給出的 1582 年以后的年份. 

      month = 0 為一月, 1 為二月, 依次類推. 

   輸出: 行數: 5 或 6, 只有當二月有28天, 同時一號為星期天時, 只需要4行. 



*/ 

  { 

  int firstDay;   /* 該月的第一天的星期 */ 

  int numCells;   /* 該月需要的表格數 */ 



  /* 年份應為 1582 年以后. */ 

  if (year < 1582) return (-1); 



  /* 去除無效的月份. */ 

  if ((month < 0) || (month > 11)) return (-1); 



  /* 獲取該月的第一天. */ 

  firstDay = CalcFirstOfMonth(year, month); 



  /* 如果是閏年的二月, 第一天是星期天, 返回 4 行. */ 

  if ((month == FEBRUARY) && (firstDay == 0) && !IsLeapYear(year)) 

   return (4); 



  /* 需要的表格數 = 第一行的空表格 + 該月的天數. */ 

  numCells = firstDay + DaysInMonth[month]; 



  /* 閏年需要為2月29日增加一格 */ 

  if ((month == FEBRUARY) && (IsLeapYear(year))) numCells++; 



  /* 小于等于35格為5行,更多則為6行. */ 

  return ((numCells <= 35) ? 5 : 6); 

  } 



int CalcFirstOfMonth(int year, int month) 

/* 

   功能: 計算該月第一天是星期幾. 

   輸入: year = 給出的 1582 年以后的年份. 

      month = 0 為一月, 1 為二月, 依次類推. 

   輸出: 該月第一天的星期: 0 = 星期天, 1 = 星期一, 依次類推. 

*/ 

  { 

  int firstDay;   /* 該年1月1日的星期,然后是該月第一天的星期 */ 

  int i;       /* 月份的循環變量 */ 



  /* 年份應為 1582 年以后. */ 

  if (year < 1582) return (-1); 



  /* 去除無效的月份. */ 

  if ((month < 0) || (month > 11)) return (-1); 



  /* 獲取該年1月1日的星期 */ 

  firstDay = CalcJanuaryFirst(year); 



  /* 計算該月第一天是該年中的第幾天. */ 

  for (i = 0; i < month; i++) 

   firstDay += DaysInMonth[i]; 



  /* 閏年二月份后的月份加一天 */ 

  if ((month > FEBRUARY) && IsLeapYear(year)) firstDay++; 



  /* 轉換為星期 */ 

  return (firstDay % 7); 

  } 



boolean IsLeapYear(int year) 

/* 

   功能: 判斷是否是閏年. 

   輸入: year = 給出的 1582 年以后的年份. 

   輸出: TRUE 是閏年, FALSE 不是. 

*/ 

  { 



  /* 能被100整除, 不能被400整除的年份, 不是閏年. 

   * 能被100整除, 也能被400整除的年份, 是閏年.*/ 



  if ((year % 100) == 0) return((year % 400) == 0); 



  /* 不能被100整除, 能被4整除的年份是閏年. */ 

  return ((year % 4) == 0); 

  } 



int CalcJanuaryFirst(int year) 

/* 

   功能: 計算該年1月1日的星期. 

   輸入: year = 給出的 1582 年以后的年份. 

   輸出: 1月1日的星期: 0 = 星期天, 1 = 星期一, 依次類推. 

   注意: 1582 年 1 月 1 日是星期五; 平年加1 , 閏年加2. 

*/ 

  { 



  /* 年份應為 1582 年以后. */ 

  if (year < 1582) return (-1); 



  /* 始于01-01-1582 星期五; 平年加1 , 閏年加2. */ 

  return ((5 + (year - 1582) + CalcLeapYears(year)) % 7); 

  } 



int CalcLeapYears(int year) 

/* 

   功能: 計算自 1582 年以后的閏年數. 

   輸入: year = 給出的 1582 年以后的年份. 

   輸出: 自 1582 年以后的閏年數. 如果早于 1582 年, 返回 -1 . 

   注意: 如果給出的年份是閏年, 計算結果不包括它. 

      能被100整除, 不能被400整除的年份, 不是閏年. 

      能被100整除, 也能被400整除的年份, 是閏年. 

      不能被100整除, 能被4整除的年份是閏年. 

*/ 

  { 

  int leapYears;   /* 返回的閏年數 */ 

  int hundreds;   /* 能被100整除的年數 */ 

  int fourHundreds; /* 能被400整除的年數 */ 



  /* 年份應為 1582 年以后. */ 

  if (year < 1582) return (-1); 



  /* 能被4整除的年數 */ 

  leapYears = (year - 1581) / 4; 



  /* 計算能被100整除的年數; 然后從閏年數中除去*/ 

  hundreds = (year - 1501) / 100; 

  leapYears -= hundreds; 



  /* 閏年數中加上能被400整除的年數 */ 

  fourHundreds = (year - 1201) / 400; 

  leapYears += fourHundreds; 



  return (leapYears); 

  } 



} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚日韩国产aⅴ精品中极品| 久久精品夜色噜噜亚洲a∨| 午夜在线成人av| 精品久久一区二区| 亚洲国产综合视频在线观看| 日韩欧美一区二区免费| av网站免费线看精品| 亚洲成人www| 欧美国产日韩a欧美在线观看| 色综合激情五月| 国产九色sp调教91| 日韩电影在线一区二区| 亚洲国产精品t66y| 日韩视频永久免费| 欧美亚洲高清一区二区三区不卡| 日韩精品午夜视频| 亚洲综合清纯丝袜自拍| 久久久精品tv| 久久久99精品免费观看| 日韩女优制服丝袜电影| 欧美日韩精品久久久| 97精品久久久久中文字幕| 丰满少妇在线播放bd日韩电影| 男女男精品视频网| 免费美女久久99| 日本欧美在线观看| 麻豆精品在线观看| 久草热8精品视频在线观看| 天天操天天综合网| 色婷婷久久99综合精品jk白丝 | 亚洲毛片av在线| 国产精品久久久久一区二区三区 | www.欧美亚洲| 99精品国产视频| 在线观看亚洲a| 9191久久久久久久久久久| 欧美精品色综合| 亚洲国产成人午夜在线一区| 欧美电影免费观看高清完整版在线观看| 在线观看91精品国产麻豆| 欧美日韩一区二区三区四区| 欧美手机在线视频| 精品国产精品一区二区夜夜嗨| 精品国精品自拍自在线| 国产三区在线成人av| 国产精品一区二区男女羞羞无遮挡| 国产精品国产自产拍高清av王其| 亚洲精品中文在线| 婷婷久久综合九色国产成人| 国产福利一区二区三区| 欧美亚洲动漫制服丝袜| 亚洲国产精品激情在线观看| 一区二区三区精品| 国产福利视频一区二区三区| 精品视频1区2区| 一区二区视频在线| 国产成人av资源| 欧美精品丝袜久久久中文字幕| 欧美调教femdomvk| 日韩一区二区在线播放| 亚洲欧洲制服丝袜| 国产成人精品一区二区三区网站观看| 99re免费视频精品全部| 国产精品妹子av| 精品亚洲国产成人av制服丝袜 | 久久精品国产精品亚洲精品| 国产激情精品久久久第一区二区| 欧美日韩在线观看一区二区| 国产亚洲1区2区3区| 性久久久久久久久久久久| 97久久精品人人做人人爽| 欧美精品色一区二区三区| 亚洲尤物视频在线| 99国产精品国产精品久久| 国产三级三级三级精品8ⅰ区| 丝瓜av网站精品一区二区| 欧美日韩大陆一区二区| 一区二区三区成人| 欧美性做爰猛烈叫床潮| 亚洲男同1069视频| 欧美视频一区在线| 亚洲精品视频在线看| 欧洲在线/亚洲| 一区二区久久久| 欧美亚洲另类激情小说| 亚洲成a人片综合在线| 欧美色中文字幕| 日韩av一二三| 国产亚洲精品7777| 91年精品国产| 亚洲午夜精品一区二区三区他趣| 欧美日韩一区二区欧美激情| 日本在线不卡视频| 久久人人爽爽爽人久久久| aaa欧美色吧激情视频| 亚洲国产毛片aaaaa无费看| 欧美日韩二区三区| 不卡电影一区二区三区| 人禽交欧美网站| 久久久国产精品午夜一区ai换脸| 99视频超级精品| 久久99国产精品免费| 国产精品乱码一区二区三区软件| 在线精品亚洲一区二区不卡| 久久爱www久久做| 日韩美女视频一区二区| 久久精品人人做人人爽人人| 欧美亚洲尤物久久| 成人免费毛片嘿嘿连载视频| 亚洲一区在线看| 成人欧美一区二区三区小说 | 国产成人在线视频网址| 三级久久三级久久久| 亚洲免费视频中文字幕| 国产精品美女久久久久久| 精品动漫一区二区三区在线观看| 精品av久久707| 欧美午夜一区二区| 91色九色蝌蚪| 色婷婷久久99综合精品jk白丝 | 国产精品灌醉下药二区| 国产亚洲欧美在线| 亚洲欧美日韩国产中文在线| 国产精品护士白丝一区av| 国产欧美日韩在线| 亚洲天堂2016| 亚洲国产精品久久久男人的天堂 | 国产精品久久二区二区| 国产精品国产自产拍高清av| 久久免费精品国产久精品久久久久| 欧美一级搡bbbb搡bbbb| 久久久噜噜噜久久中文字幕色伊伊| 日韩欧美一区在线| 国产欧美视频在线观看| 一区二区视频免费在线观看| 老汉av免费一区二区三区| 亚洲国产精品一区二区www在线 | 亚洲国产日韩精品| 国产激情精品久久久第一区二区| 成人a级免费电影| 欧美剧情片在线观看| 国产三级三级三级精品8ⅰ区| 国产精品久久99| 亚洲成年人影院| 欧美日韩一区二区三区四区五区| 精品国产电影一区二区 | 国产亚洲精品精华液| 日本大胆欧美人术艺术动态| 国产aⅴ综合色| 色综合久久九月婷婷色综合| 精品久久一二三区| 日韩影院在线观看| 91福利小视频| 亚洲欧美色综合| av色综合久久天堂av综合| 精品日产卡一卡二卡麻豆| 亚洲国产一区二区在线播放| 国产美女视频一区| 久久精品人人做| 久久er精品视频| 欧美一级欧美三级在线观看| 中文字幕一区二区三| 91黄色激情网站| 一区二区三区在线视频免费观看| 不卡视频免费播放| 亚洲男帅同性gay1069| 91麻豆国产福利在线观看| 亚洲精品高清在线观看| 欧美裸体一区二区三区| 一片黄亚洲嫩模| 欧美人妇做爰xxxⅹ性高电影| 日韩av网站在线观看| www国产成人免费观看视频 深夜成人网| 蜜桃久久久久久| 国产精品国产三级国产| 99国产麻豆精品| 免费在线观看精品| 亚洲尤物视频在线| 精品福利一区二区三区免费视频| 国产麻豆精品视频| 又紧又大又爽精品一区二区| 久久久久国产精品人| 亚洲综合久久av| 日韩一区二区三区免费观看| 国产精品69久久久久水密桃| 日韩美女啊v在线免费观看| 精品国产乱码久久久久久闺蜜| www.亚洲色图| 国产精品一区二区黑丝| 亚洲成av人片在线观看| 国产喷白浆一区二区三区| 欧美伦理视频网站| 欧美日韩一区二区三区视频| 国产成人精品影院| 久久99在线观看| 亚洲精品亚洲人成人网在线播放| 久久久精品日韩欧美| 精品成人a区在线观看| 欧美mv日韩mv亚洲| 日韩一级大片在线观看|