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

每日練習-20181218

文章目錄

一、JavaScript 程式設計題

輸入某年某月某日,判斷這一天是這一年的第幾天?
解答

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <title>判斷第幾天</title>
  <style
type="text/css">
</style> </head> <body> <div id="container"> <form> <input type="text" id="inputContent" placeholder="請輸入xxx年xxx月xxx日"/> <input type="button" onclick="getResult()" value="確認" /> </form> <p id="showResult">
展示計算結果</p> </div> </body> <script type="text/javascript"> function getResult(){ // 獲取輸入內容。 var inputStr = document.getElementById("inputContent").value; // 分界點。 var y = inputStr.valueOf("年"); var m = inputStr.valueOf("月"); var d = inputStr.valueOf("日"); // 獲取年月日。
var y1 = parseInt(inputStr.substring(0,y)); var m1 = parseInt(inputStr.substring(y+1,m); var d1 = parseInt(inputStr.substring(m+1,d); // 獲取毫秒數。 var second1 = new Date(y1,m1-1,d1); // 月(0-11)、日(1-30) var second2 = new Date(y1,0,0); // 計算間隔天數。 var dayInterval = (second1 - second2)/(24*60*60*1000); // 輸出結果。 document.getElementById("showResult").innerHTML = dayInterval; }
</script> </html>

二、MySQL 程式設計題

在名為商品庫的資料庫中包含有商品規格表 Content 和商品特性表 Property,它們的定義分別為:
Content(Code varchar(50),Class varchar(20),Price double,Number int)

Property(Code varchar(50),Place varchar(20),Brand varchar(50))

(1)寫出下面查詢語句的作用;
SELECT Distinct Brand FROM Property;
解答
查詢所有商品的去除重複後的商標。

(2)從商品規格表中查詢出每類商品的最高單價
解答

select class,max(Price) as '該類商品的最高單價' from Content
group by class;

(3) 從商品規格表中查詢出同一類商品多於一種的所有分類名
解答

select class from Content 
group by class having count(*) > 1;

三、Java 程式設計題

打印出如下圖案(菱形) 。

public class Day10{
  public static void main(String[] args){
    Day10 rhombus = new Day10();
    // 本方法只適用於奇數。
    rhombus.getResult(7);
  }
  /**
   * 觀察:
   * 1. 每行數量:1,3,5,7,5,3,1。
   * 2. 起始位置:3,2,1,0,3,2,1。
   * 3. 行分界點:row/2。
   * 思路:
   * 1. 每行數量得:前,2*i + 1。後,2*(row-i-1) + 1。
   * 2. 起始位置得:從起始位置加入多個“*”。即列考慮到row/2即可。
   */
  public void getResult(int row){
    // 行操作。
    for(int i = 0; i < row; i++){
      // 列操作。
      for(int j = 0; j <= row/2; j++){ // 
         // 判斷起始位置:Math.abs(row/2 - i) == j。
         if(Math.abs(row/2 - i) == j){ 
           // 判斷行分界點:row/2
           if(i <= row/2){ 
             // 輸出相應數量的“*”
             for(int g = 0; g < (2 * i + 1); g++){
               System.out.println("*");
             }
           }else{
             // 輸出相應數量的“*”
             for(int g = 0; g < (2 * (row - i-1) + 1); g++){
               System.out.println("*");
             }
           }
         }else{
           System.out.print(" "); //不滿足加空格。
         }         
      }
      System.out.println();
    }
  }
}