每日練習-20181218
阿新 • • 發佈:2018-12-23
文章目錄
一、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();
}
}
}