目前日期文章:201107 (11)

瀏覽方式: 標題列表 簡短摘要
因為公司搬家到很遠的地方,騎車車程大約30分鐘,怕我白嫩嫩的玉手曬黑,所以就花了很多時間,尋找有品牌的防曬手套。
以前讀書是買一個10元的超便宜手套,防曬效果一半,所以這次我當然是鎖定防曬100%的品牌囉~~~
找了很多抗UV手套,總算是找到看似不錯且有品牌的抗UV手套了!!!
可是使用兩個月下來,我的手曬的超黑~~~根本一點都不抗UV嘛!!!
因為我外套是穿lativ的抗UV外套,所以到手腕處都很白,但是從手腕到指尖,整個就是黑...髒髒的好醜。
lativ的抗UV外套一件499,SNOW TRAVEL抗UV手套350!!!防曬效果一比就知道...
希望有意願要買SNOW TRAVEL產品的可以參考我的心得,不要買了抗UV產品,還一樣曬的很黑。

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、下列是以C、Java及Javascript三種語言撰寫存取陣列(array)的程式片斷,
請問此程式片斷執行後,會產生什麼結果?如果結果錯誤,錯誤訊息為何?
各用什麼方法可避免錯誤。請寫出完整的程式來說明你的方法。(25分)
C: int a[] = {0, 1, 2, 3}; for (i=0; i<=sizeof(a); i++) printf(“%d”, a[i]);
Java: int[] a = {0, 1, 2, 3}; for (i=0; i<=a.length; i++) System.out.println(a[i]);
Javascript: var a = [0, 1, 2, 3]; for(i=0; i<=a.length; i++) document.write(a[i]);

【答】
C語言:
for迴圈應該只能跑0~3(陣列a共4個元素個數),
原程式中sizeof(a)=16,for迴圈會跑0~16,這樣是不對的,已經超過陣列a的長度了,
會讀出錯誤的數值(記憶體位置內存的資料未知)。

解釋:
sizeof(a)是取出陣列a所有元素的總byte數,不是陣列a有幾個元素個數。
應該使用sizeof(a)/sizeof(a[0])取得陣列a的元素個數。

正確寫法如下:
int a[] = {0, 1, 2, 3}; for (i=0; i< sizeof(a)/sizeof(a[0]); i++) printf(“%d”, a[i]);


Java: 
for迴圈應該只能跑0~3(陣列a共4個元素個數),
原程式for迴圈是跑0~4,超過陣列a的元素個數,會讀出錯誤的數值(記憶體位置內存的資料未知)。

解釋:
a.length會傳回陣列a元素個數,此例元素個數為4,所以迴圈會跑0~4,
陣列index是從0開始,4的位置已超出原本陣列a的長度。

正確寫法如下:
int[] a = {0, 1, 2, 3}; for (i=0; i< a.length; i++) System.out.println(a[i]);


Javascript:
for迴圈應該只能跑0~3(陣列a共4個元素個數),
原程式for迴圈是跑0~4,超過陣列a的元素個數,會顯示沒有定義(undefined)。

解釋:
a.length會傳回陣列a元素個數,此例元素個數為4,所以迴圈會跑0~4,
陣列index是從0開始,4的位置已超出原本陣列a的長度。

正確寫法如下:
var a = [0, 1, 2, 3]; for(i=0; i< a.length; i++) document.write(a[i]);


三、下面是一個使用Scheme functional language寫成之程式。回答下列問題:(25分)
(define unknown
(lambda (L)
(cond
((null? L) L)
((null? (cdr L)) L)
((eqv? (car L) (car (cdr L))) (unknown (cdr L)))
(else (cons (car L) (unknown (cdr L)))))))
1.請說明Functional Language 之主要優缺點。
2.請說明上述程式之功能。
3.請說明 (unknown ‘(3 3 2 2 2 4 4 3 4 2 2 1 0)) 之執行結果為何?

【答】
1.Functional Language 優點:程式碼簡潔直覺。缺點:前置式運算式寫法,不易閱讀。

2.解析:
(define unknown .........宣告函式, 名稱為 unknown
    (lambda (L) .........宣告函式參數, 名稱為 L
    (cond .........if-else敘述開始
    ((null? L) L) .........if L是null, 則傳回L
    ((null? (cdr L)) L) .........else if L的第一個元素之後是null, 則傳回L
    ((eqv? (car L) (car (cdr L))) (unknown (cdr L))) 
    .........else if L的第一個元素 == L的第二個元素, 則遞迴呼叫unknown函式(參數為L去掉第一個元素)
    (else (cons (car L) (unknown (cdr L))))))) 
    .........else 將L的第一個元素 跟 遞迴呼叫unknown函式(參數為L去掉第一個元素)傳回的值合併
此程式將把L串列內容連續重複出現的數字去除

3.結果:3 2 4 3 4 2 1 0

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、下列的C語言程式中,findMinMax函式接受一個一維陣列,
並將陣列中的最大值以及最小值利用傳址呼叫(call by address)的方式回傳。
請將程式碼中的空格編號及答案寫於申論試卷上。(每一個空格5分,共20分)
void findMinMax(int *array, int size, int *min, int *max){
	*min = array[0]; *max = array[0];
	for(int i = 1; i < size; i++){
		if(array[i] > *max) __1__ = array[i];
		else if(array[i] < *min) __2__ ; }}
void main() {
	int min, max; min = 0; max = 100;
	int a[] = {8, 9, 16, 0, 33, 45, 7, 22};
	findMinMax(a, __3__ , &min, __4__ );
	printf("min = %d\n", min);
	printf("max = %d\n", max); }

【答】
1.*max
2.*min = array[i]
3.sizeof(a)/sizeof(a[0])
4.&max


二、請回答下列C語言程式問題:
1.定義函式int foo(int x) { x *= 2; return x;}。請問int x = 6; 
printf(“%d\n”, foo(x) + foo(x)); 輸出為何?(5分)
2.請問下列程式的輸出為何?(5分)
void sp(int value) {
	if(value / 10) {
		printf("%d\n", value % 10); sp(value / 10);
	}else { printf("%d\n", value); }
}
void main() {sp(728); }
3.請問若是要在瀏覽器的標題列上秀出「Hello world」的文字,
下列HTML文件中的空白處應填入何種程式碼?(5分)
<HTML><head> </head> <body></body>。
4.請問若是要使用C語言標準函式庫的atoi()函式,需要引入那個標頭檔(header file)?(5分)

【答】
1. 輸出為:24

2. 輸出為:
8
2
7

3.<title>Hello world</title>

4.stdlib.h


三、請用C語言,設計一個函式int gcd(int x, int y)。gcd函式會回傳整數x及y的「最大公因數」,
請用遞迴(recursive)的方式來完成gcd函式。(15分)

【答】
int gcd(int x, int y) {
    if(y == 0)
        return x;
    else
        return gcd(y, x%y);
}

四、請用C語言設計一個函式int isPerfect(int x)。
當isPerfect回傳1時,代表x為「完美數」,若回傳0,代表x不是完美數。
若x是一個完美數,則x的所有小於x本身的正因數加總,會等於x。
舉例而言,令x=6,則所有小於x的正因數有1,2及3。因為1+2+3=6,所以6是完美數。(15分)

【答】
依提意得知,函式isPerfect(int x)將計算出x所有的因數的和(sum),
並且,如果和(sum)與x相等則return 1,否則return 0。
可得以下函式:
int isPerfect(int x) {
    int sum = 0;
    for (int i=1; i < x; i++) { //從1,2,3,...,x-1
        if(x % i == 0) //x除以i,如果餘數為0,則i即為x的因數
            sum = sum + i; //將因數相加
    }
    if(x == sum) //如果x的因素和等於x,則x為完美數
        return 1;
    else
        return 0;
}


五、名詞解釋:
1.請解釋並舉例說明Java語言中extends關鍵字的作用。(10分)
2.請解釋Java語言中覆寫(override)以及超載(overload)的差別。(10分)
3.請寫出XML中DTD的英文全名。(5分)
4.下圖是一個超連結,當你點選它時,瀏覽器會「開啟新的視窗」,
並連結到http://www.abc.efg/網址,請將此超連結的HTML語法寫出來。(5分)
這是超連結

【答】
1.extends擴充:
將已存在的類別沿用到新類別,不需要重複撰寫相同的函式,精簡程式碼。
已存在的類別以被很多程式碼使用,但又需新增相似的功能時,可以新建一個類別,將原類別extends進來,
在新類別內擴充原類別沒有的功能函式。

2.
覆寫(override):
extends類別時,如果原有類別的函式功能不敷使用,可將該函式override,重新定義該函式的程式敘述。
需要注意的事項,override函式時,只可擴大父類別函式的權限,不能縮小父類別函式的權限。

超載(overload):
同一個函式名稱,可依照輸入參數型態的不同、數量的不同,呼叫對應的函式敘述。
可應用在類似功能函式的設計。

3.DTD: Document Type Definition

4.<a href="http://www.abc.efg/" target="_blank">這是超連結</a>

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、用C語言撰寫一個函式int most_significant_set_bit(int num),它能將一個32-bit整數的最高有效位(The most significant bit)為1的位置計算出並回傳出來,如果全為0,則回傳-1。例如數值444以二進位表示為00000000 00000000 00000001 10111100,所以它回傳出最高有效位為1的位置為8,也就是說bit 8。(25分)

#include "stdio.h"
#include "stdlib.h"
#include "math.h"

int most_significant_set_bit(int num) {
    for(int i=31; i>=0; i--) {
        if(num / pow(2.0, i) >= 1) {
            return i;
    }
    return -1;
}
int main(void) {
    int num = 444;
    printf(" %d 的最高有效位為1的位置為: %d \n", num, most_significant_set_bit(num));
    return 0;
}
不知道這樣答題會不會被判0分~~因為寫太少@@~~
應該不會禁止使用math.h函式庫吧~~
這是很簡單的邏輯問題~~
因為是32位元(n=32)系統,所以就使用2的n-i次方除以num(i=1,2,3...,32),(不管餘數)找到商為1的就是最高位元。
pow是math.h內含的函式,pow(x,y)代表:x的y次方。

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

何謂 Functional programming language?請舉一個例子說明其語言的特性。

【解】 函數式語言藉著函數來表達。因此輸入將作為函數的參數而輸出則為函數的值,主要的程式語言有 Lisp。LISP 語言是以解譯器(Interpreter)來處理其程式。基本的資料結構是S-運算式(S-expression)。其中 S-expression 又可區分為串列(list)與原子(atom)。LISP 採垃圾收集法(Garbage collection)管理記憶體。運算式(expression)的表示法採劍橋波蘭式(Cambridge-polish form),即前置式加上括號。

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

維基百科也有資訊

完整的敘述
 

  • 括號()特別多。

  • 每一個完整的敘述(statement),都要用括號()括起來。

  • 括號()內的第一項,一定是函數名稱或運算子。

  • (let* ((x 3) (y 5))(* x y)),這是一句完整的敘述。

  • 前一條式子可看成:


(let* (
(x 3)
(y 5)
)
(* x y)
)

註解
 

  • 分號;為註解符號。



運算式
 

  • 運算式為前序(prefix)運算式。

  • 運算式(* 3 5)相當於3*5。

  • 3*5是中序(infix)運算式。

  • 若你不習慣前序表示式,你可以將運算子視為函數。

  • * 視為函數,3、5視為參數。

  • 在中序運算式3*5, 運算子*與運算元3、5中間不會有空白(space);但前序運算式(* 3 5),*與3中間一定有空白。



前序運算式
 

  • (* 3 5)相當於3*5;(* 6 7) 相當於6*7。

  • ((- (* 3 5) (+ 6 7)) ((- (* 3 5) (+ 6 7)) 相當於3*5-6*7。



區域變數
 

  • 使用 let* ()來宣告與使用區域變數。

  • 語法:(let* (variables) expressions)

  • 以(let* ((x 3) (y 5))(* x y))為例子,左式設定 x=3、y=5,而後執行x*y的運算。

  • 離開let* ()的括號外,原設定的區域變數就變成沒有宣告。



函數定義、宣告與使用
 

  • 語法:(define (name param-list) expressions)




  • 使用define來定義函數。

  • name表示函數名稱。

  • param-list表示輸入函數的參數列。




  • 參數型態:參數不用設定參數型態,幾乎所有script語言都是如此。

  • 回傳值:函數內的最後一個敘述為回傳值。

  • (define (Multiply X Y) (* X Y) ),左式設定一個乘法函數

  • (Multiply 3 5) 得到15。

  • 猜猜看 (Multiply (Multiply 3 5) 2) 會得到多少?



串列
 

  • 語法:‘(a b c)

  • 使用撇號 ‘ 來定義串列,撇號是指apostrophe。

  • 例如:‘(1 6 8) ,撇號指示在括號內的是串列,不是單值。

  • 串列(list)相當於陣列,儲存多個單值。

  • (let* (x 5) x),在Script-Fu訊息視窗,鍵入左式得到5。

  • (let* (x ‘(1 6 8)) x) ,在Script-Fu 訊息視窗,鍵入左式得到(1 6 8)。

  • (let* (x ‘(“Gimp” 1.2 “v”)) ,串列的原素可以混合各種資料型態。



串接
 

  • 使用cons來連結串列產生新的串列

  • (cons “Gimp” (1 6 8) )

  • 上式的輸出結果:(“Gimp” 1 6 8)



抓取串列內元素
 

  • (car ‘(“Gimp” 2 3 4))

  • car抓取串列內第一個元素

  • 上式的輸出結果:”Gimp”



  • (cdr ‘(“Gimp” 2 3 4))

  • cdr抓取串列內除第一個元素外的其餘元素。

  • 上式的輸出結果:(2 3 4)



  • (car (cdr ‘(“Gimp” 2 3 4)))

  • car(cdr())抓取第二個元素

  • 上式的輸出結果:2





完整的敘述
每一個完整的敘述(statement),都要用括號()括起來。
括號()內的第一項,一定是函數名稱或運算子。
(類似C語言行末要用分號;結尾的意思)



註解 ;(分號)
分號後接的文字都視為註解。



變數宣告

1.使用define宣告的話會變成全域變數
(define variable value)

2.使用let宣告
(let ((var1 val1) (var2 val2) ...))



函數
1. (define (func arg1 arg2 ...) ...)
2. (define func (lambda (arg1 arg2 ...) ...))



條件判斷

1.(if test then-expr else-expr)
如果test為真,則執行then-expr這個表達式,要不然就執行else-expr這個表達式。

2.(cond (test1 expr1...)
(test2 expr2...)
...
(else expr))
如果test1為真,則執行expr1。test2為真,執行expr2。要是都不符合的話,就執行expr。



Scheme 的 hello, world 程式
(write "hello, world")



null? test
test為list型態
如果test是null,則傳回true,否則傳回false。
http://www.math.grinnell.edu/~stone/scheme-web/null-ques.html

EX:
> (null? '())
#t
> (null? '(3))
#f
> (null? (cons 1 2))
#f
> (null? (cdr '(3)))
#t
> (null? (cdr (cons 3 '())))
#t



eqv? obj1 obj2
判斷兩object是否相同。
http://people.csail.mit.edu/jaffer/r5rs_8.html

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

Scheme 是什麼?

Scheme 是一種小巧、強大、優雅的程式設計語言。

Scheme 是 LISP 的一種方言,它繼承了 LISP 的優點。這裏對 Scheme 的描述大部分也適合其他 LISP 方言。

Scheme 不但設計非常簡潔乾淨,而且非常強大。
說它小巧是因為它只有7種最基本的語法結構,甚至連迴圈語句都沒有。
它的核心語法用幾頁紙就可以全部敍述完畢。 Scheme 的 report 只有 50 多頁,還沒有某些語言手冊的索引長。

Scheme 可以實現幾乎所有我們所知道的程式設計方法:函數式,強制式,消息傳遞式,邏輯式,...
在 Scheme 裏,所有的過程都可以被當作資料操作,而且它可以把通常隱藏在幕後工作的 continuation 作為物件來操作。

Scheme 可以實現優秀的軟體工程。
用 Scheme 編程可以擺脫普通語言的“計畫—實現”的設計流程,而使用自底向上的設計方法。也就是說,你不需要在設計程式之前做好所有的計畫。Scheme 語言隨著問題改變,語言和問題都向著對方生長,最後達到一個完美的結合點。

Scheme 是非常優雅的,它具有數學的美感。
Scheme 從一開始就被設計為一種通用的程式語言。它不是為了解決某個特殊的小問題的設計,不是功能堆砌在功能之上,最後搞的不可理解的語言。

Scheme 是穩定的。
Scheme 注重的是“品質”,而不是工業上的利用價值,所以 20 年來 Scheme 基本上沒有變化。你不用擔心有一天收到這樣煩人的消息:“我們鼓勵大家使用 'Scheme2004' 的語法。” Scheme 的語法就像象棋的規則,一旦知道這個規則,剩下需要做的就是考慮怎樣取得勝利。

Scheme 特別適合描述演算法。
用 Scheme 編程式,你可以專注於設計演算法本身,而不是為語言本身的事情而煩惱,比如語法,記憶體洩漏之類。所以用這種語言教學,學生可以學會“解決現實世界的問題” 而不是困惑於 “電腦自己的問題”。學生會很快的理解到“計算” 的實質內涵,深刻體會到計算科學是什麼。

Scheme 被很多大學用於各個領域的電腦教學,甚至一些中學和小學也開始利用 Scheme 來講授計算科學。

使用 Scheme 作為教學工具的一個明顯的特徵就是,Scheme 語言本身從來不會成為學習的重點。使用 Scheme 作為工具的課程從來不會專門講授 Scheme,因為沒有這個必要。學生在初次接觸電腦的幾天裏就能熟悉 Scheme,學習怎樣用它來計算。之後,大家就開始到處找問題來計算,不再考慮語言的問題了。Scheme 的理念是程式語言不是拿來“學”的,而是拿來“用”的。

Scheme 在教育界被如此廣泛的使用的結果就是,新一代的優秀的計算學家,很多人的“母語”是 Scheme。

Scheme 的社會是非常開放和自由的。所以你不用奇怪,最好的書都有免費的版本 :)

Structure and Interpretation of Computer Programs
昵稱 "The Wizard Book" 或者 "The Purple Book"。
Scheme 的鼻祖 Gerald Jay Sussman 和電腦教育專家 Hal Abelson 合寫的,20 年來影響整個電腦科學教育的著作,著名的 MIT 課程 6.001 的課本。這是 MIT 的電子工程和電腦科學專業本科生的必修課,其他與計算相關專業也鼓勵參加。每年上這門課的 MIT 學生超過 500 名。全世界有超過 100 所大學採用這個教材。這裏有一個不完全列表。
它著重講述的不是 Scheme 語言本身,也不是資料結構和演算法。在簡短的介紹 Scheme 的簡單語法之後,課本馬上開始講述深入的計算概念:函數式程式設計,高階函數,資料抽象,流,資料制導,消息傳遞,邏輯程式設計,解釋器設計,編譯器設計,寄存器機器模擬 ...
這本書讓學生從一個語言設計者和實現者的高度來看待問題,而不只是作為一個普通語言的用戶。讀了這些內容,學生可以真正體會到“計算科學”的實質內涵,而不是被一些細節束縛,只見樹木不見森林。



Scheme 解釋器和編譯器

Scheme 的實現很多,幾乎所有解釋器和編譯器都是自由軟體,除了 Chez。

你可以隨便選擇 MzScheme, guile, bigloo, chez, chicken, gambit, kawa, SISC, GNU/MIT scheme, petite, plt, pscheme, scheme48, SCM, scsh, stk, STklos, ELK, Gauche, sxm, umbscheme, ...

每一種解釋器都有強項,可以根據自己的需要選擇。其中,Guile 和ELK 適合做嵌入式解釋器;bigloo, GambitC 和 Chicken 可以把 Scheme 編譯成機器代碼,速度快;DrScheme/MzScheme 介面最友好, Kawa 和 SISC 支持 Scheme 到 Java 的轉換,位元組碼編譯;Scheme 48 非常簡潔可靠;Scsh 在 Scheme 48 基礎上做了很多跟作業系統接合的介面,可以作為通用的的腳本語言;Stk 和 STklos 自帶面向物件系統和 gtk 圖形介面;Gauche 具有方便的 regexp, 網路,圖形介面,UTF-8 支援,可以作為很方便的腳本語言,進行系統管理等操作;Chez 是Cadance Research systems 出品的商業 Scheme 解釋器;Petite 是Chez 的免費版本,比 Chez 少了一個編譯器。

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

這次SK2推出特惠組再9折活動,又搭配各百貨公司年中慶滿千送百,將近8折的優惠價,我就狠下心買了第一瓶正貨SK2青春露了~~~!!!
打電話到有滿千送百的SK2專櫃詢問可不可以現抵~~~
漢神本館3千送3百,不能用在化妝品貴...殘念
和平大統3千送2百,不能現抵...殘念~~~我妹說裝肖ㄟ~她之前站櫃都幫客人現抵~是那個小姐不想賺這個錢..好~SK2夠屌麻~
A+1專櫃2千送2百,小姐說直接算我8折,不用在那邊抵不抵~八折最快了!! 所以就衝去買了~~~XD

因為第一次買正貨,不想買大容量,怕不適合膚質,所以我買150ml的,定價3600元,8折2880元~~
SK2公司本檔期活動,剛好買青春露就送洗面乳20g跟活膚霜15g,所以享受8折還賺到多餘的保養品。
櫃姐也很可愛(有點年紀但皮膚超好),還多送我青春精華液跟面膜。
原本是打算快速買完就離開,結果櫃姊真是健談,都不是談保養,談到她買房子的心得去了~
結果我也聽的很投入,感覺是很好的經驗分享~~~
沒想到光講房子,我們就講了2個小時,果然女人太三姑六婆~很會講~~~~

看看戰利品吧~~^^

LPIC2578.JPG

青春露150ml,8折2880元
LPIC2583.JPG

洗面乳20g(換算正貨價值:317元)
LPIC2581.JPG

活膚霜15g(換算正貨價值:713元)
LPIC2579.JPG

青春精華液2ml(換算正貨價值:263元)
LPIC2580.JPG

青春敷面膜(換算正貨價值:383元)
LPIC2582.JPG


SK2專櫃不會亂推銷東西,我說只買青春露,小姐就不在推薦其他產品,只是會給試用品,希望客人回去使用喜歡再回去購買,所以沒壓力。
其他一線品牌~妳進了專櫃不買個一萬都不放人~很恐怖。

如果好用,趁週年慶再來敗吧~~~
如果不適合~~那也算省了這筆錢了XD

伊 發表在 痞客邦 PIXNET 留言(1) 人氣()

年紀大真的有差,最近發現皺紋跟斑點一直冒出來~普通的保養品已經撐不下去了,在不快點進階就要變老太婆了><。
PS. 身體健康的人也比較不會老,可惜我身體很差,所以老的比一般人快阿~
要買的便宜就要先做功課!!

[2010週年慶]:
台中中友
雙重隔離組 售價 $ 2,000
SK-II 晶緻煥白隔離防曬乳30g
送 SK-II 光透活膚隔離霜25g

新光三越A11/A8/A4
活膚青春組 售價$2,300
SK-II 晶緻活膚乳液100g
送 SK-II青春露 75ml

廣三SOGO/中壢SOGO
亮眼活膚組 售價$2,400
SK-II 360°全效煥采晶眼霜15g
送SK-II 晶緻活膚乳液100g

板橋遠東/新光三越台南西門
晶緻煥白組 售價$4,250
SK-II 晶緻煥白超淨斑精華50ml
送 SK-II晶緻煥白勻透乳霜75g

鑽白勻透組 售價$3,600
SK-II環采鑽白精華液30ml
送 SK-II晶緻煥白勻透乳霜75g

新光三越台中/站前
精華勻透組 售價$3,950
SK-II 青春精華露30ml
送SK-II晶緻煥白勻透乳霜75g

新光三越南西/高雄漢神
煥能勻透組 售價$3,800
SK-II 煥能全效活膚霜80g
送SK-II晶緻煥白勻透乳霜75g

忠孝SOGO/中壢SOGO
鑽白活膚組 售價$3600
SK-II環采鑽白精華液30ml
送SK-II晶緻活膚乳液100g

新光三越台南西門
煥能賦活組 售價$3800
SK-II煥能全效活膚霜80g
送SK-II深效賦活修護霜30g

忠孝SOGO/新光三越站前/高雄漢神
青春精華組 售價$3950
SK-II青春精華露30ml
送SK-II青春精華露30ml

中壢SOGO/新光三越台南西門/新光三越台中
鑽白隔離組 售價$3250
SK-II環采鑽白修護凝霜50g
送SK-II 晶緻煥白隔離防曬乳30g

忠孝SOGO/高雄漢神/廣三SOGO/中壢SOGO/新光三越站前
煥能煥顏組 售價$3800
SK-II煥能全效活膚霜80g
送SK-II緊緻煥顏精華40g

高雄漢神
潤透精華組 售價$4500
SK-II煥能深效潤透修護霜50g
送SK-II青春精華露30ml

高雄漢神
活膚水漾組 售價$2300
SK-II晶緻活膚乳液100g
送SK-II超活水漾保濕精華40ml

新光三越台西門/新光三越A11/A8/A4/新光三越台中
精華勻透組 售價$3950
SK-II青春精華露30ml
送SK-II晶緻煥白勻透乳霜75g

忠孝SOGO/高雄漢神
亮眼活膚組 售價$2400
SK-II 360°全效煥采晶眼霜
送SK-II晶緻活膚乳液100g

新光三越南西/忠孝SOGO
抗皺煥顏組 售價$3200
SK-II 360°全效抗皺精華30g
送SK-II緊緻煥顏精華40g

忠孝SOGO/新光三越站前/高雄漢神
煥白勻透組 售價$3100
SK-II晶緻煥白勻透乳霜75g
送SK-II晶緻煥白勻透乳霜75g

忠孝SOGO
煥白晶露組 售價$1800
SK-II晶緻煥白晶露150ml
送SK-II晶緻煥白晶露150ml

台中中友/板橋遠東/新光三越南西
煥能勻透組 售價$3800
SK-II煥能全效活膚霜80g
送SK-II晶緻煥白勻透乳霜75g

[2010母親節]:(網友代買更便宜)
1.青春露特惠組(一)
青春露215ml (正品)+青春露75ml
原價:4100元
代買價:3580元

2.青春露特惠組(二)
青春露215ml (正品)+青春露30ml*2
原價:4100元
代買價:3450元

3.煥能全效精華組
SK-II 煥能全效活膚霜80g(正品)+青春精華露15ml
原價:3800元
代買價:3200元

4.瞬效美白膜煥組
SK-II晶緻煥白瞬效智慧凝面膜組6片裝1盒(正品)+超淨班精華50ml(正品加大)
青春露30ml+煥能全效活膚霜15g+青春敷面膜2片
+晶緻煥白晶露10ml*2+晶緻活膚乳液30ml
原價:6750元
代買價:5400元

5.極緻煥活晶鑽組
SK-II 晶鑽極緻活膚蜜200ml (正品)+ 晶鑽極緻再生霜50g(正品)+SK-II 晶鑽極緻修護精華100ml(正品)
原價:10900元
代買價:8720元

6.青春煥能活膚組
SK-II煥能全效活膚霜80g(正品)+青春露215ml(正品)
+亮采化妝水40ml+柔膚潔面乳20g*2+緊緻煥顏精華5g*2+煥能拉提雙面膜3片
原價:7900元
代買價:6320元

7.人氣青春柔膚組
SK-II青春露150ml(正品)+柔膚洗面乳120g(正品)+
亮采化妝水40ml+晶緻煥白修護面膜1片+光透晶緻隔離霜2.5g*2+環采鑽白精華液7ml
原價:4500元
代買價:3600元

8.鑽白光透美顏組
SK-II環采鑽白粉凝霜(正品)+光透晶緻隔離霜25g(正品)
送:柔膚潔面乳120g(正品)
原價:3300元
代買價:2640元

9.晶緻煥能保養組(舊款美白搭配經典產品)
SK-II晶緻煥白超淨斑精華30ml(正品)+青春露30ml+柔膚潔面乳20g+煥能全效活膚霜2.5g
原價:3000元
代買價:2400元

10.瞬效深層修護組
SK-II晶緻煥白瞬效智慧凝面膜組6片裝一盒(正品)+晶緻煥白深層修護面膜3片
原價:2500元
代買價:2050元

11.環采鑽白精華組--->剩1(新款美白搭配小青春露,新體驗!)
SK-II環采鑽白精華液30ml(正品)+青春露30ml+晶緻煥白深層修護面膜1片+環采鑽白修護凝霜2.5g
原價:3600元
代買價:2880元

12.鑽白雙重修護組(新款美白加防曬係數達50之隔離乳,雙重保護)
SK-II環采鑽白精華液30ml(正品)+晶緻煥白隔離防曬乳30g(正品)+青春露30ml+晶緻煥白深層修護面膜1片
+環采鑽白修護凝霜2.5g+亮采化妝水40ml+晶緻煥白晶露10ml
原價:5600元
代買價:4880元

13.環采鑽白雙重組(美白新品雙響炮~)
SK-II環采鑽白精華液30ml(正品)+環采鑽白修護凝霜50g(正品)+柔膚潔面乳20g+晶緻煥白深層修護面膜2片
+煥能全效活膚霜15g+晶緻活膚乳液30ml
原價:6850元
代買價:5500元

14.環采鑽白精華液50ml(加大版)
原價:5000元
代買價:4000元

15.晶緻煥白瞬效智慧凝面膜10片組(加大版)
原價:3600元
代買價:2880元

16.青春露250ml(加大版)
原價:4500元
代買價:3600元

17.煥白勻透乳霜(正品)買一送一,等於兩罐喔!
價值:6200元
原價:3100元
代買價:3100元

[2011母親節特惠組&單品]:(網友代買更便宜)
單品 1~3萬 62折
   3萬~ 6折
加大單品一律 65折

★SK1)青春活膚優惠組 原價 3600元 代買價 3150元
買:青春露150ml
送:柔膚潔面乳20g、活膚卸妝蜜15g、亮采化妝水40ml、煥能全效活膚霜15g、
  晶緻活膚乳液10ml、青春敷面膜1片

★SK2)煥能活膚優惠組 原價 3800元 代買價 3250元
買:煥能全效活膚霜80g
送:柔膚潔面乳20g、活膚卸妝蜜15g、亮采化妝水40ml、青春露 30ml、
  煥能全效活膚霜15g、煥能拉提雙面膜1片

★SK3)環采鑽白優惠組 原價 3600元 代買價 3150元 (最後一組)
買:環采鑽白精華液30ml
送:柔膚潔面乳20g、青春露 30ml、晶緻露白晶露10ml、晶緻活膚乳液10ml
  環采鑽白修護凝霜15g、晶緻煥白瞬效智慧凝面膜 1組

★SK4)淨斑修護組 原價6630 特價4900 代買價3880
58折
買:極緻淨斑精華30ml+活膚潔面乳120g
送:柔膚潔面乳20g、青春露 30ml、晶緻煥白晶露10ml、勻透乳霜2.5g、煥白面膜1片

★SK5)淨斑煥膚組 原價11356 特價8650 代買價6800
59折
買:青春露215ml、極緻淨斑精華50ml
送:青春露 30ml、煥能全效活膚霜15g、青春敷面膜1片、亮采化妝水40ml
  、晶緻露白晶露10ml、全效潔面乳20g

★SK6)淨斑經典組 原價6039 特價3000 代買價2400
4折
買:極緻淡斑精華30ml
送:青春露 10ml、全效潔面乳20g、青春敷面膜1片

★SK7)晶鑽極緻修護精華40ml買正貨送正貨組 原價8200 特價5000 代買價4200
51折
買:晶鑽極緻修護精華40ml
送:極緻煥顏精華40ml

★SK8)面膜超值組 原價9200 特價6900 代買價5450
59折
買:SK-II青春敷面膜6片裝*3
送:SK-II青春敷面膜6片或者煥白深層修護面膜6片

★SK9)鑽白粉底組 原價3060 代買價定價再打8折
買:任兩個底妝
送:晶緻煥白晶露10ml、活膚卸妝蜜15g、亮采化妝水20ml

★SK10)環采鑽白組 原價4677 特價3600 代買價2870
61折
買:環采鑽白精華液30ml
送:環采鑽白精華30ml、青春露 30ml、勻透乳霜2.5g

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()

以前在寫C語言的時候,常常使用到傳值呼叫/傳址呼叫,用的很理所當然~
但是當我看了JAVA的教學文章後,突然發現,怎麼沒有傳值呼叫/傳址呼叫呢?
雖然不常用,但是,想用卻沒得用~可是會很困擾呢!

JAVA已經預設了參數的傳遞方式:
1. int , char , double ..等基本資料型態:都是傳值方式。
2. String:傳值,不論是否使用 new 關鍵字建立物件,都是使用傳值方式,因為字串物件並不能更改字串內容。
3. Array:傳址,物件是用傳址方式。


那VB.NET跟C#.NET的傳值/傳址呢?

VB.NET有 ByVal(傳值) 跟 ByRef(傳址),可以讓使用者自定參數是傳值、還是傳址,也算是蠻方便的。

C#中如果沒有指定 ref(傳址) 的話,預設為傳值。C# ref(傳址) 寫法如下:
public void CallRef(ref int a, ref int b) {
...
}
CallRef(ref a, ref b);


但遇到傳遞物件呢?(尚未找到相關資料。)
我自己的習慣寫法如下,可以正常傳遞物件,但不知道是否為正規寫法(畢竟寫C#時我都是亂掰亂寫的):
public void CallObject(object obj) {
...
}
CallObject(obj);

伊 發表在 痞客邦 PIXNET 留言(1) 人氣()

還記得第一次使用VB.NET寫陣列時,發生了一件令我百思不解的問題,就是當我將某一變數指定某一物件後,使用該變數更改內容,原本物件的內容也會被一併更改...

【使用陣列來舉例】

提一下陣列的宣告:
1. int[] arr; 沒指定大小,沒指定初值。
2. int[] arr = new int[10]; 指定大小,沒指定初值。
3. int[] arr = {1,2,3,4,5}; 指定大小,指定初值。

int[] arr;
在這個宣告中,arr表示一個可以參考至一維陣列物件的名稱,但是目前還沒有指定它參考至任何的物件,在Java中,=運算子用於基本資料型態時,是將值複製給變數,但當它用於物件時,則是將物件指定給參考名稱來參考,您也可以將同一個物件指定給兩個參考名稱,當物件的值藉由其中一個參考名稱變更時,另一個參考名稱所參考到的值也會更動,使用下面的程式來作示範:

public class AdvancedArray { 
    public static void main(String[] args) { 
        int[] arr1 = {1, 2, 3, 4, 5}; 
        int[] tmp1; 
        int[] tmp2; 
 
        tmp1 = arr1; 
        tmp2 = arr1; 
 
        tmp1[2] = 9; //只修改tmp1[2]的值
 
        for(int i = 0; i < tmp1.length; i++) 
            System.out.print("tmp1=" + tmp1[i] + " "); 
        System.out.println(); 
 
        for(int i = 0; i < tmp2.length; i++) 
            System.out.print("tmp2=" + tmp2[i] + " "); 
        System.out.println();
    } 
 }

執行結果:
tmp1=1 2 9 4 5
tmp2=1 2 9 4 5

在這個範例中,藉由tmp1名稱改變了索引2的元素值,所以tmp2所參考到的索引2的元素值也會改變,事實上在這個程式中,有三個參考名稱參考至同一個陣列物件,也就是arr1、tmp1與tmp2,所以arr1索引2的值在程式執行後所參考到的值也改變了。

Q: 那當我們要複製陣列怎麼辦呢??
A: 可以使用for迴圈巡覽複製。
for(int i = 0; i < arr1.length; i++) 
    arr2[i] = arr1[i];

在Java可使用 System類別 所提供的 靜態方法arraycopy()
語法如下:
System.arraycopy(來源, 起始索引, 目的, 起始索引, 複製長度);
System.arraycopy(arr1, 0, arr2, 0, arr1.length);

在JDK 6中,Arrays類別 新增了copyOf()方法:
int[] arr1 = {1, 2, 3, 4, 5}; 
int[] arr2 = Arrays.copyOf(arr1, arr1.length);
Arrays的copyOf()方法傳回的陣列是新的陣列物件,所以您改變傳回陣列中的元素值,也不會影響原來的陣列。
copyOf()的第二個引數指定要建立的新陣列長度,如果新陣列的長度超過原陣列的長度,則保留陣列預設值,例如:
int[] arr1 = {1, 2, 3, 4, 5}; 
int[] arr2 = Arrays.copyOf(arr1, 10);
則arr2的內容會是{1, 2, 3, 4, 5, 0, 0, 0, 0, 0}

伊 發表在 痞客邦 PIXNET 留言(0) 人氣()