1. 程式人生 > >每日練習-20181221

每日練習-20181221

文章目錄

一、JavaScript 程式設計題

談談你對Ajax 的理解?(概念、特點、作用)
解答

專案 含義
全稱 非同步 JavaScript 和 XML。
含義 不是新的程式語言,而是一種使用現有標準的新方法。
特點 在不重新載入整個頁面的情況下,可以與伺服器交換資料並更新部分網頁內容 。不需要任何瀏覽器外掛,但需要使用者允許JavaScript在瀏覽器上執行。
作用 可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。

二、MySQL 簡答題

表 teacher_course

教師號 星期號 是否有課
1 2
1 3
2 1
3 2
1 2

寫一條 sql 語句讓你變為這樣的表 :

教師號 星期一 星期二 星期三
1 0 2 1
2 1 0 0
3 0 1 0

解答

select 教師號,  
sum(case when 星期號=1 and 是否有課='有' then 1 else 0 end) as 星期一,  
sum(case
when 星期號=2 and 是否有課='有' then 1 else 0 end) as 星期二, sum(case when 星期號=3 and 是否有課='有' then 1 else 0 end) as 星期三 from teacher_course group by 教師號;

三、Java 簡答題

有一對兔子,從出生後第 3 個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問第 10 個月的兔子總數為多少?
解答

public class Day13{
  public static void main(String[] args){
    Day13 rabbit = new Day13();
    // 當天可以生小兔子時。
    rabbit.getResult1(1,10);
    // 第三個月才可以生小兔子時。
    rabbit.getResult2(1,10);
  }
  /**
   * 分析:這隻兔子當天可以生小兔子時。(對數)
   * day1 = (1+1)。=2
   * day2 = (1+2)。=3
   * day3 = (1+3)+(1)。=5
   * day4 = (1+4)+(2)+(1)。=8
   * day5 = (1+5)+(3)+(2)+(1)。=12
   * day6 = (1+6)+(4)+(3)+(2)+(1)。=17
   * day7 = (1+7)+(5)+(4)+(3)+(2)+(1)。=23
   * dayn = (1+n)+(n-2)....+(1) = (n^2 - n + 4)/2。
   */
   public void getResult1(int rabbitNum, int days){
     int sum = rabbitNum * (days * (days - 1) + 4);
     System.out.println(days + "天共有" + sum + "只兔子");
   }
  /**
   * 分析:這隻兔子第三個月才可以生小兔子時。(對數)
   * day1 = (1)。=1
   * day2 = (1)。=1
   * day3 = (1+1)。=2
   * day4 = (1+2)。=3
   * day5 = (1+3)+(1)。=5
   * day6 = (1+4)+(2)+(1)。=8
   * day7 = (1+5)+(3)+(2)+(1)。=12
   * day8 = (1+6)+(4)+(3)+(2)+(1)。=17
   * day9 = (1+7)+(5)+(4)+(3)+(2)+(1)。=23
   * day10 = (1+8)+(6)+(5)+(4)+(3)+(2)+(1)。=30
   * dayn = (1+n)+(n-2)....+(1) = (n^2 - 5*n + 10)/2。
   */
   public void getResult2(int rabbitNum,int days){
     int sum = rabbitNum * (days * (days - 5) + 10);
     System.out.println(days + "天共有" + sum + "只兔子");
   }   
}