1. 程式人生 > >每日一練-12

每日一練-12

JavaScript 程式設計題

按照下列要求,用JavaScript寫一個年,月,日的聯動選單。
1. 預設顯示當前日期;
2. 選擇年才可以選擇月,選擇月才可以選擇日,並且 2 月的天數要正確;

<head>
    <meta charset="UTF-8">
    <title>年月日下拉框聯動</title>
</head>

<body>
    <form name="dateInfo">
        <select name="yearName" onchange="testYear(this.value)">
            <option value="">請選擇年</option>
        </select>
        <select name="monthName" onchange="testMonth(this.value)">
            <option value="">請選擇月</option>
        </select>
        <select name="dayName">
            <option value="">請選擇日</option>
        </select>
    </form>
    <script>
        // 定義各個月份天數
        var monthTemp = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
        /**
         * 頁面完成載入完成後執行
         */
        window.onload = function() {
            // 獲取當前年份   
            var yearValue = new Date().getFullYear();
            // 獲取當前月份
            var monthValue = new Date().getMonth() + 1;
            // 以今年為準,前30年,後30年 
            for(var i = (yearValue - 30); i <= (yearValue + 30); i++) {
                document.dateInfo.yearName.options.add(new Option(" " + i + " 年", i));
            }

            // 月份的下拉框   
            for(var i = 1; i <= 12; i++) {
                document.dateInfo.monthName.options.add(new Option(" " + i + " 月", i));
            }

            // 設定年份
            document.dateInfo.yearName.value = yearValue;
            // 設定月份
            document.dateInfo.monthName.value = monthValue;
            // 獲取當前月份的天數
            var dayValue = monthTemp[monthValue - 1];
            // 初始化日選項框
            initDay(dayValue, monthValue, yearValue);
            // 設定當前日
            document.dateInfo.dayName.value = new Date().getDate();
        }

        // 年發生變化時日期發生變化
        function testYear(yearValue) {
            // 獲取當前月份
            var monthValue = document.dateInfo.monthName.value;
            // 判斷月份是否被選中,若未選中,則重置日選項框
            if(monthValue == "") {
                optionsClear(document.dateInfo.dayName);
                return;
            }
            // 根據月份獲取天數
            var dayValue = monthTemp[monthValue - 1];
            // 初始化日選項框
            initDay(dayValue, monthValue, yearValue);
        }

        // 月發生變化時日期聯動   
        function testMonth(monthValue) {
            // 獲取當前年份
            var yearValue = document.dateInfo.yearName.value;
            // 判斷年份是否被選中,若未選中,則重置日選項框
            if(yearValue == "") {
                optionsClear(document.dateInfo.dayName);
                return;
            }
            // 根據月份獲取天數
            var dayValue = monthTemp[monthValue - 1];
            // 初始化日選項框
            initDay(dayValue, monthValue, yearValue);
        }

        // 初始化日選項框
        function initDay(dayValue, monthValue, yearValue) {
            // 判斷是否是2月份,並且判斷是否為閏年
            if(monthValue == 2 && isLeapYear(yearValue)) {
                dayValue++;
            }
            // 獲取當前日下拉框
            var e = document.dateInfo.dayName;
            // 重置下拉框
            optionsClear(e);
            // 填充日下拉框
            for(var i = 1; i <= dayValue; i++) {
                e.options.add(new Option(" " + i + " 日", i));
            }
        }

        // 判斷是否閏平年   
        function isLeapYear(year) {
            // 閏年的定義是(可被4整除)且((不可被100整除)或(可被400整除))的年份
            return(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        }

        // 重置下拉框
        function optionsClear(e) {
            e.options.length = 1;
        }
    </script>
</body>

MySQL 簡答題

常見的幾種約束有哪些?分別代表什麼意思?如何使用?
常用的約束有主鍵約束,外來鍵約束,唯一約束,預設約束 。
1、主鍵:PRIMARY KEY(主鍵欄位)保證了實體完整性,一個表只有一個主鍵,但一個主鍵可以包含多個欄位,主鍵欄位不能為空;
2、唯一:UNIQUE(約束欄位)保證了實體完整性,一個表有多個唯一約束,一個唯一約束可有包含多個欄位;
3、外來鍵:FOREIGN KEY(外來鍵欄位),保證了引用完整性,一個表可以有多個外來鍵;
4、預設值:DEFAULT(預設值的表示式或NULL),保證了域完整性,一個表可以有多個預設值約束,但是一個欄位只有一個預設值。

Java 簡答題

陣列(Array)和列表(ArrayList)有什麼區別?什麼時候應該使用 Array 而不是 ArrayList?

1、儲存內容比較:
Array 陣列可以包含基本型別和物件型別,
ArrayList 卻只能包含物件型別。
Array 陣列在存放的時候一定是同種型別的元素。ArrayList 就不一定了 。
2、空間大小比較:
Array 陣列的空間大小是固定的,所以需要事前確定合適的空間大小。
ArrayList 的空間是動態增長的,而且,每次新增新的元素的時候都會檢查內部陣列的空間是否足夠。
3.方法上的比較:
ArrayList 方法上比 Array 更多樣化,比如新增全部 addAll()、刪除全部 removeAll()、返回迭代器 iterator() 等。
適用場景:
如果想要儲存一些在整個程式執行期間都會存在而且不變的資料,我們可以將它們放進一個全域性數組裡, 但是如果我們單純只是想要以陣列的形式儲存資料,而不對資料進行增加等操作,只是方便我們進行查詢的話,那麼,我們就選擇 ArrayList。
如果我們需要對元素進行頻繁的移動或刪除,或者是處理的是超大量的資料,那麼,使用 ArrayList 就真的不是一個好的選擇,因為它的效率很低,使用陣列進行這樣的動作就很麻煩,那麼,我們可以考慮選擇 LinkedList。

相關推薦

每日-12

JavaScript 程式設計題 按照下列要求,用JavaScript寫一個年,月,日的聯動選單。 1. 預設顯示當前日期; 2. 選擇年才可以選擇月,選擇月才可以選擇日,並且 2 月的天數要正確; <head> <meta

程式設計俱樂部每日(2018年12月7日)QAQ的小遊戲

程式設計俱樂部每日一練(2018年12月7日)QAQ的小遊戲 Description Recently,QAQ fell in love a small game,which simulates browser browsing web pages.It has three kind

程式設計俱樂部每日(2018年12月3日)A * B Problem大數乘法

程式設計俱樂部每日一練(2018年12月3日)A * B Problem大數乘法 A * B Problem Description Now Give you two integers A and B , please caculate the value of A multiply

程式設計俱樂部每日(2018年12月2日) A - B problem大數減法

程式設計俱樂部每日一練(2018年12月2日) A - B problem大數減法 Description Now, Give you two intgers A and B , Please calculate the value of A minus B. Attation:

每日 no.12

題目: 生成1到9之間的隨機數(包括1和9)。讓使用者猜測數字,然後告訴他們他們是否猜到太低,太高或完全正確。 解答: 學會random的用法: import random num = random.c

python每日之20170611

python#!/usr/local/bin/python #-*- coding: UTF-8 -*- #端口掃描器 import socket import thread import time socket.setdefaulttimeout(3) #設置了全局默認超時時間 def socket_

每日 11.22

沒有 font 列表 == 個數 medium bsp 數字相加 list 題目:已有一個沒有重復的整數列表,如 [2, 10, -3, 9, 4, 3, 5, 7 ,12],有一個整數目標值,如9這個目標值可能可以由列表中兩個數字相加得到,如 2 + 7,-3 + 12,

C語言每日——第一題

code print str == break 文件內容 第一題 out () 一、程序功能 程序的功能是:將大於整數m且緊靠m的k個素數存入數組xx。並把in.dat文件的內容輸入到程序,並把輸出結果輸出道out.dat文件夾中例如:若輸入17,5 則應該輸入:19,23

C語言每日——第四題

圖片 數據文件 () inf fop dat文件 print 數組a open 一、題目要求 已知數據文件in.dat中有300個四位數,並調用readDat()函數把這些數存儲數組a中,編寫函數jsValue(),其功能是:求出所有這些四位數是素數的個數cnt,再把所有滿

每日】裝飾器

count 其他 用戶登陸 glob 每日一練 div class 密碼 try 寫一個用戶登錄認證函數,要求: 1.要求用戶輸入賬號密碼和txt中的用戶名數據庫對比; 2.要求用戶有三次嘗試機會; 3.要求用戶登陸後,執行其他功能無需再驗證; txt數據: {‘auth_

劍指offer,每日

題目: 1、重建二叉樹: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 時間限制:1秒 

劍指offer,每日 2018.10.17

今天做的一系列迴歸與迴圈的演算法題(當數學題做)。 1、大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 時間限制:1秒 空間限制:32768K 熱度指數:417477 //斐波那契數列 a

python 每日之0000題➕PIL模組學習

前言 自己的程式設計能力太不足了,最近開始每日一練,望大佬勿噴,學習記錄下 正文 第 0000 題: 將你的 QQ 頭像(或者微博頭像)右上角加上紅色的數字,類似於微信未讀資訊數量那種提示效果。 類似於圖中效果 這道題我想到的做法就是利用PIL模組去做 當然我的電腦裡

python 每日之0005題➕os方法簡單學習

前言 自己的程式設計能力太不足了,最近開始每日一練,望大佬勿噴,學習記錄下 正文 第 0005 題: 你有一個目錄,裝了很多照片,把它們的尺寸變成都不大於 iPhone5 解析度的大小。 這是題目,這裡我用到的是PIL和os模組中的一些功能 貼出程式碼 #! usr/loc

python 每日之0004題➕file方法(簡單版)

前文 前幾天考試太多一直沒時間寫今天繼續 正文 路漫漫~今天做的第四題發現好像是蠻簡單的,但是看網上大佬們選擇的方法都是正則表示式,。。。我這裡貼出一個簡單的方法吧。為那些看不懂正則的小白們貼一貼 # -*- coding: utf-8 -*- def main(words): with

python 每日之0001題和0002題➕mysql簡單學習

前言 自己的程式設計能力太不足了,最近開始每日一練,望大佬勿噴,學習記錄下 正文 第 0001 題: 做為 Apple Store App 獨立開發者,你要搞限時促銷,為你的應用生成啟用碼(或者優惠券),使用 Python 如何生成 200 個啟用碼(或者優惠券)? 第 0002

軟考初級資訊處理技術員每日

單選題 1、要使作者的名字出現在所有的幻燈片中,應將其加入到( )中。 A.幻燈片母版 B.標題母版 C.備註母版 D.講義母版 參考答案:A 試題分析: 本題考查簡報製作基礎知識。 幻燈片母版通常用來統一整個簡報的幻燈片格式,要使作者的名字出現在所有的幻燈片

CF每日 Codeforces Round #520 (Div. 2)

  比賽過程總結:過程中有事就玩手機了,後面打的狀態不是很好,A題理解錯題意,表明了內心不在狀態,B題想法和思路都是完全正確的,但是並沒有寫出來,因為自己程式碼能力不強,思路不是特別清晰,把程式碼後面寫亂了,而且出現了手誤,這非常不應該。   反思:打下來應該想好,打程式碼的時候一氣呵成

java每日------資料庫連線

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class DbOperate {  &nbs

java每日------生產者消費者(執行緒)

import java.util.ArrayList; import java.util.List; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import