Everyday my son has to cry at least once and there are all kinds of reasons to cry.

That is really a big trouble for me and I really hope he can learn how to control his emotions.

Tonight I taught my son to play the Chinese Rummy and the Slaps.

 

* Chinese Rummy:撿紅點

* Slaps:心臟病

文章標籤

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

We left the hotel at 1:30 pm yesterday.

On our way home, all of my family were so tired that they slept all the way.

After unpacking, we started to learn how to do a speed stacking.

文章標籤

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

There are lots of hotel facilities in the  Eastern Hotels & Resorts such as  indoor swimming pool, sauna, public bath, open-air bath, hiking trail and playground.

The room we reserved was very big that children could even play hide and see there.

Both my son and my niece had a lot of fun.

 

*hotel facilities:飯店設施

*sauna:烤箱

*public bath:大眾湯

*open-air bath:露天湯

*hiking trail:步道

*niece:姪女

文章標籤

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

I met my former colleague at a night market near my home last night.

After our talking, it was about 12 am.

When I got up this morning I feel so tired.

文章標籤

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

I will go on a vacation to the Eastern Hotels & Resorts with my son, my mom and my niece tomorrow.

This is the first time I take my family on a vacation without my husband.

Although I really look forward to our trip , I worry about a lot of things such as there being not enough time to pack our luggage, not knowing when is the best departure time.

文章標籤

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

●生命週期;reference
1.field=>變數
a)local/global=>this
b)物件類=>"new"物件存取=>每個物件都有自己的屬性
c)類別類=>static=>類別直接存取
=>不須"new"物件存取
=>只產生一次,所有物件共同使用的屬性(絕對位址)
*參考程式碼java/11/add1.java
 
2.method=>方法
a)傳值/不傳值(可當值來用)
b)物件類=>需透過"new"物件存取
c)類別類=>static
=>不須透過"new"物件存取
=>類別(class)直接存取
*參考程式碼java/11/add1.java
 
3.內部類別inner class(nested class)
=>一定要全部的class寫在同一個*.java檔案,不能分開寫,但編譯的時候每一個class會自動編譯成獨立的*.class檔
=>主要目的是為了好管理,一個檔案可以管理好幾個class
=>先確定外部類別outer class
=>不是繼承(是獨立的),所以不能結合多型
add2.java
class student2{
class A{
}
}
class add2{
public static void main(String args[]){
}
}
=>A是S2的內部類別,S2是A的外部類別,將add2.java編譯後,會產生三個*.class檔,其中student2$A.class就代表,A是student2的內部class
 
a)物件類內部類別
=>先"new"外部類別物件再"new"內部類別物件
add2.java
class student2{
String name="student2 name";
class A{
     String name="student2_A name";
}
}
class add2{
public static void main(String args[]){
student2 s=new student2();
 //pirnt  student2 name,因為這邊的reference是student2
System.out.println(s.name);
}
}
 
**說明
1)class A也是student2的屬性,和String name同位階,所以在uml圖中也是寫在field區,寫法為A:class,所以存取方式和規則會和String name相同
2)如果要抓的A裡面的name,要先確認外部是否要new(是否為static),再確認內部是否需要new,而java的路徑是用"."來表示,所以寫成 student2.A;
3)如果沒加static,有多少層就要new多少層,因為要先產生student才能找到A,再由A找到自己的內容
 
**錯誤的做法
class add2{
public static void main(String args[]){
student2 s=new student2();
System.out.println(s.name);
student2.A s2=new student2().A;
}
}
=>如果寫成 new student2().A;,會出現錯誤,這邊的做法是把A當作變數了,因為class一定要產生物件
 
**正確的作法:要連續new 2次,也就是左邊有幾層,右邊就要new幾次
class add2{
public static void main(String args[]){
student2 s=new student2();
System.out.println(s.name);
student2.A s2=new student2().new A();
System.out.println(s2);
}
}
=>這裡可以看出透過new了兩層以後,把stack配給A了
 
**所以這時再做System.out.println(s2.name);
=>這邊s2.name的reference就變成student2中的 A class,所以output會變成 student2_A name
 
**多層的做法左邊有幾層,右邊就要new幾次 )
class student2{
String name="student2 name";
class A{
     String name="student2_A name";
     class A_1{
         String name="student2_A_1 name";
     }
}
class B{
String name="student2_B name";
}
}
class add2{
public static void main(String args[]){
student2 s=new student2();
System.out.println(s.name);
student2.A s2=new student2().new A();
System.out.println(s2.name);
student2.B s3=new student2().new B();
System.out.println(s3.name);
student2.A.A_1 s4=new student2().new A().new A_1();
System.out.println(s4.name);
}
}
 
**方法的呼叫
(一)先區別一次產生一個物件,和一次產生兩個物件的做法
 
class add2{
public static void main(String args[]){
//只產生一個物件
student2 s =new student2();
s.show();
s.show2()
//產生兩個物件
new student2().show();
new student2().show2();
}
用記憶體來看,前兩個的記憶體位址相同,後面兩個記憶體位址不同
 
(二)要使用A_1中的方法
class student2{
String name="student2 name";
void show(){
     System.out.println("hello student2--1");
}
void show2(){
     System.out.println("hello student2--2");
}
 
class A{
String name="student2_A name";
class A_1{
String name="student2_A_1 name";
void show(){
     System.out.println("hello student2.A.A_1--1");
}
void show2(){
     System.out.println("hello student2.A.A_1--2");
}
     }
}
class B{
     String name="student2_B name";
}
}
 
class add2{
public static void main(String args[]){
student2.A.A_1 s4=new student2().new A().new A_1();
s4.show();
s4.show2();
new student2().new A().new A_1().show();
}
}
=>如果兩個方法都要使用,就new了以後指定給s4,但如果只需要用其中一個功能,那就不需要指定給s4,可以new完直接呼叫
 
b)類別類內部類別=>外部類別物件不用"new"
(一)使用內部static class的非static method
**如何判斷是否要new:class A有static,代表要跟它的外部class(student3)說,sudent3要new,所以class A是否要new是由它裡面的show2()來決定
class student3{
static String name="student3";
static void show(){
     System.out.println("hello student3--1");
}
void show2(){
     System.out.println("hello student3--2");
}
static class A{
void show2(){     //沒有static所以A要new
     System.out.println("hello student3.A--2");
}
}
}
**錯誤寫法:
執行時,如果寫成student3.A s=studnet3().new A();會有錯誤,因為刪除是要刪student3右邊的()而非左邊的new(student3()就變成一個建構式了,要刪除建構式要先刪除括號)
 
**正確寫法:
class add3{
public static void main(String args[]){
     student3.A s=new student3.A();   
     s.show2();
}
}
=>這樣才是new student3中的A物件
 
**注意:如果只能到單獨的內部*.class檔是不能用的,一定要連外部的*.class都拿到才能用
 
 
 
 
(二)使用內部static class的static method
class student3{
static String name="student3";
static void show(){
     System.out.println("hello student3--1");
}
void show2(){
     System.out.println("hello student3--2");
}
static class A{
void show2(){
     System.out.println("hello student3.A--2");
}
static void show(){
     System.out.println("hello student3.A--1");
}
}
}
class add3{
public static void main(String args[]){
     student3.A.show();
}
}
=>可以直接使用,因為static void show()告訴A不需要再new
 
(三) 使用內部非static class的static method
class student3{
static String name="student3";
static void show(){
     System.out.println("hello student3--1");
}
void show2(){
     System.out.println("hello student3--2");
}
static class A{
void show2(){
     System.out.println("hello student3.A--2");
}
static void show(){
     System.out.println("hello student3.A--1");
}
}
class B{
String name="student2_B name";
static void show(){
     System.out.println("hello student3.A--1");
}
}
}
=>出現error,因為只要class沒有加static,裡面的method就不能加static
 
**另外,student3前面也不能加上static,因為static是告訴他的外部class是否需要new,但student3已經是最外層沒有更外部了
 
c)匿名類別(沒有名字的子類別)
=>繼承"interface"類別
=>沒有"class"名稱
=>借用"介面"名字來"new"物件
=>主要定義(宣告)在"main"程式裡
 
(一)先複習interface
add4.java
interface student4{
double pi=3.14;
void show();
}
class sa implements student4{
public void show(){
     System.out.println("hello sa");
}
}
class add4{
public static void main(String args[]){
sa s =new sa();
s.show();
}
}
 
**說明
1.interface只能放常數和抽象方法
2.繼承的子類別要注意權限,並且一定要override抽象方法
3.一定要透過子類別來new interface
 
(二)匿名類別的做法,就是把原本拉出來獨立的子類別class sa放到main中藏起來,實際真正繼承interface是在main 裡面繼承
add4.java
interface student4{
     double pi=3.14;
     void show();
}
/*class sa implements student4{
public void show(){
System.out.println("hello sa");
}
}*/
class add4{
public static void main(String args[]){
student4 s =new student4(){
     public void show(){
         System.out.println("hello sa");
     }
};
     s.show();
}
}
**
1.new student4實際上是在new student4()後面{}中的內容,這就是一個沒有名字的子類別,這個子類別等於就是把class sa中的內容拉進來
2.此時s是指匿名class而非interface student4
2.所以裡面的規則其實和class sa一樣,假設沒有寫內容只有 new student4(){ },出現錯誤訊息表示子類別沒有做override
3.如果寫了內容但沒有加public,會出現錯誤訊息表示子類別的權限太弱
4.編譯後會產生一個檔案如下,是一個沒有名稱放在add4下面的類別,不能單獨使用
 
(三)匿名子類別的簡潔寫法
add4.java
class add4{
public static void main(String args[]){
new student4(){
public void show(){
     System.out.println("hello sa");
}
public void show2(){
     System.out.println("hello2 sa");
}
}.show();
}
}
 
(四)java8以後不限定一定要interface才能用匿名子類別繼承,一般class也能用匿名class來繼承,且同時會把父類別的其他東西也一起繼承下來,不過主要應用還是用在interface上(因為遇到static時會有問題要處理,目前不提)
=>如果在add2.java的student2中加入void abc(){System.out.println("一般class匿名類別測試");} 
 
add4.java
new student2(){
public void show(){
System.out.println("hello sa");
}
public void show2(){
System.out.println("hello2 sa");
}
}.abc();
 
**說明
1.outputs為 一般class匿名類別測試
2.show()和show2()都做override
3.abc()是繼承了student2
 
 
d)enum=>列與值(列舉)=>具public static final=>沒有名字的陣列
**values()=>顯示 enum 的記憶體位址
/*
class bookName {
public static final String book1="JAVA";
public static final String book2="android";
public static final String book3="WEB";
}
*/
enum bookName{
     Java,Android,WEB
};
class add5{
     public static void main(String args[]){
     }
}
**說明
1.enum是一個清單的概念,裡面只能放常數(全部都是值)
2.當使用class打很多值的資料如class bookName,很浪費時間,可以用enum來做
3.enum bookName的 bookName指的是{}的reference,裡面有一個沒有名字的陣列,就是{}中的內容,所以每一個值背後都有編號[0][1][2]....
4.都是以存String值為主,數字類在enum中無法儲存(裡面內容規則和變數名稱的命名規則一樣)
5.所以不用加String,他本身內容具有三個特性public static final
6.但是卻不能定義一個 String 變數放進去,因為它的reference(or類型)是bookName而非String
=>enum背後代表的是一個沒有名字但是類型為bookName的陣列:bookName[]   ={JAVA,android,WEB};
7.System.out.println(bookName.values());去查enum的記憶體位置會顯示如下:
=>[:表示是一個陣列,reference為bookName
 
要把bookName中的內容變成String的作法
enum bookName{
     Java,Android,WEB
};
class add5{
public static void main(String args[]){
System.out.println(bookName.values());
bookName[] x=bookName.values();
for(int i=0;i<x.length;i++){
     System.out.println(x[i]);
}
}
}
**說明:
1.寫一個類型也是bookName的陣列x,並且把bookName.values()指給它,但這邊不是傳址,實際上是做copy的動作,把值copy給陣列x
2.因為enum中的值預設是final的,如果是傳址,則當x[0]要做改變會有問題,因為final不能改,所以不是在傳址
 
eumu的用法
class book{
enum bookName{
Java,Android,WEB
}
}
 
class add5{
public static void main(String args[]){
book.bookName[] x=book.bookName.values();
for(int i=0;i<x.length;i++){
     System.out.println(x[i]);
}
}
}
**說明:
1.eunm可以當作內部類別,因為本身是static可以直接使用,通常用來存放專有名稱
2.作法,設定一個book的bookName類型的陣列x然後把 book.bookName 位址內的資料傳給他
3.去查x和bookName的位址,確實不一樣
System.out.println(bookName.values());
System.out.println(x);
 
●MVC
modeling=>模組化(寫class/method)
view=>ui介面;操作畫面
controller=>控制流程
 
●netbeans實作
=>做一個輸入畫面,要輸入:姓名、國文、英文,一個確定按鈕
主控台輸出:(這邊用println來做)
你的名字:
國文分數:
英文分數:
總分:
 
1.container:panel(是一個分組的概念)/label/text field/button
2.先把使用者介面做好
3.命名變數名稱:name/chi/eng/ok
4.設定ok button的滑鼠事件=>mouseclicked
5.java.lang中的包覆類別:字串轉intInterger.parseInt(String);
=>輸入程式碼如下:
 System.out.println("名:"+name.getText()+
  "\n國文:"+chi.getText()+
  "\n英文:"+eng.getText()+
"\n總分:" +(Integer.parseInt(chi.getText())+Integer.parseInt(eng.getText()))
  );
文章標籤

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

I update my blog everyday and hope that could increase my blog traffic.

Yesterday I got the speech draft of the storytelling competition that is hosted by my son's school.

There are 6 childern in my son's class going to enter the storytelling competition.

 

*enter a contest/competition:參加比賽

*storytelling competition:說故事比賽

 

 

 

 

 

文章標籤

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

● 抽象類別與interface介面=>superclass=>多型的應用=>DAO(uml的圖)
(一)抽象類別
1.與一般class一樣,具有field,constructors,mehtods
2.關鍵=>抽象方法=>abstract(只有名字,沒有內容),抽象方法不提供內容,內容由繼承的子類別來提供,透過overrride
*在用多型管理的時候,為了配合子類別override而在父類別加的method,因該方法只有名稱沒有內容,只是用來比對名稱,但是加上{}還是會占空間(等於是一個假的方法=>即抽象的方法),所以可以:
 
(一) 直接把void abc(){},後面的{}拿掉,代表不提供內容了
student.java
class student{
String name;
student(String name){
this.name=name;
}
String show(){
return name;
}
void abc();
void abc(int chi){}
}
=>但是只這樣做會出現如上錯誤訊息,沒有正確宣告抽象方法
 
(二)那就對這個方法宣告為抽象:
abstract void abc();
=>只在這個方法前加上absract也會出現錯誤訊息如上
=>因為父類別中只要任何一個(真實的)mehtod要改為抽象method,則該類別(class)的前面也要加上abstract,否則會出現錯誤訊息,子類別不能override
 
(三)正確作法:student class 和 abc() method前都要加上abstract
student.java
abstract class student{
String name;
student(String name){
this.name=name;
}
String show(){
return name;
}
abstract void abc();
void abc(int chi){}
}
 
 
3.只提供繼承,無法單獨個別"new"物件=>喪失new的功能
student class改成abstract以後,在add.java中如果去new student,會出現錯誤訊息如下:
student x=new student();
=>因為student已經不能實體化(instantiated)了,所以不能new,不能配stack記憶體給它,只能提供繼承的功能了
 
4.繼承的子class(subclass)=>extends=>一定要"override"抽象方法(全部都要)
如果子類別沒有override父類別的抽象方法,則不能繼承
student.java
abstract class student{
String name;
student(String name){
this.name=name;
}
String show(){
return name;
}
abstract void abc();
abstract void abc(int chi);
}
 
B.java
class B extends student{
int eng;
B(String name,int eng){
super(name);
this.eng=eng;
}
String show(){
return super.show()+"\t英文:"+eng;
}
}
=>b這是後沒有override abc()和abc(int)這兩個抽象方法,所以會出現錯誤訊息(一次只出現一個)
 
正確
B.java
class B extends student{
int eng;
B(String name,int eng){
super(name);
this.eng=eng;
}
/*String show(){
return super.show()+"\t英文:"+eng;
}*/
void abc(){
System.out.println("abc--B");
}
void abc(int eng){
this.eng=eng;
}
}
=>String show(){}因為不是抽象方法,所以子類別的 String show(){}沒有做override也不會有問題
 
● 抽象類別的UML
 
*所有程式碼請參照: java/10/A.java、 B.java C.java student.java、 add.java
 
(二)interface
1.內容只能定義"常數"與"抽象方法"
2.當superclass(父類別)用,提供繼承,無法"new"物件(因為是抽象的)
interface text{
double pi=3.14;
}
 
class add2{
public static void main(String args[]){
text t=new text();
System.out.println(t.pi);
}
}
因為interface預設是abstract的,所以不能實體化不能new
 
3.常數內容=>public final 類型 常數名=初始值;(一定要初始值)
=>public final 可省略,但編譯會自動加
* interface和class一樣用來定義功能,但compiler出來還是*.class檔
interface text{
double pi=3.14;  //省略public final,編譯會自動加上去
}
 
4.抽象方法=>public adstract....
=>可省略=>繼承的子類別一定要"override"
(所以interface子類別的override幾乎都是public,因為interface是public,子類別的權限要跟他一樣或比他大)
(一)在interface中的方法後面加上{}
interface text{
double pi=3.14;  
void abc(){}   //省略public abstract
}
=>錯誤,在interface中都是抽象方法,所以不能加內容(即{})
 
(二)在子類別如果沒有override
class text2 implements text{
}
=>出現錯誤,子類別對抽象方法沒有做override
 
(三)有override,但沒有設定權限
interface text{
double pi=3.14;
void abc();    //省略public abstract
}
class text2 implements text{
void abc(){
}
}
=>因為繼承了text,所以子類別的override權限要大於或等於父類別
 
5.但要繼承interface,不能用extends,而是要用關鍵字:implements 
interface text{
     double pi=3.14;
}
class text2 implements text{
}
class add2{
public static void main(String args[]){
text2 t=new text2();
System.out.println(t.pi);
}
}
=>透過text2這個子類別去new
 
*以前述uml為例,把student恢復成一般class
(以後自己做的class盡量不要轉抽象,抽象方法全部放在interface中,這樣自己做的class才能new)
(把interface當作索引目錄的概念)
**父類別可多個,但是有規則
1.一般父類別一定要放在第一個(先extends再interface),只能一個一般父類別,其他都必須是interface
class A extends student implements student2{
int chi;
A(String name,int chi){
super(name);
this.chi=chi;
}
String show(){
return super.show()+"\t國文"+chi;
}
 
void abc(){
System.out.println("abc--A");
}
void abc(int chi){
this.chi=chi;
}
 
=>如果interface放在前面,會有錯誤訊息
 
2.多型如果有遇到interface也是共同父類別時,共同父類別名稱可以改為用interface的students2
student2[] s={
new A("kelly",80),
new B("kent",81),
new B("maggie",82),
new A("derek",83),
new A("david",84),
new C("Sylvie",85),
};
 
3.如果要用如下方法run show()method
student2[] s={
new A("kelly",80),
new B("kent",81),
new B("maggie",82),
new A("derek",83),
new A("david",84),
new C("Sylvie",85),
};
for(int i=0;i<s.length;i++){
     System.out.println(s[i].show());
}
=>出現錯誤,因為在interface student2中找不到show()method
 
4.正確:
interface student2{
     String show();
}
=> 在student2中加入show()method, 並同時把A/B/C三個class中的show()改為public String show(){....}
 
 
(三)Data Access by Object(UML中稱為DAO模式)=>data以object的方式存取的模式
*其中interface的繼承關係用虛線表示,+代表public
 
● netbeans的練習
要做一個輸入分數的判斷小畫面
**要key資料=>textField
要打名稱=>label
按鈕=>button
**UI介面
接收訊息=>getText():String;(所有程式預設抓進來都是文字字串 )
 
**步驟
1.新增JFrame,命名為grade
2.拉出一個panel
3.加入一個label,text改為成績,調整字體大小
4.加入一個text field,刪除text,調整要顯示的字體大小
5.加入一個button,修改text名稱
6.給予text field和button variable name 分別為(grade/ok),在左下角可以看到設定好的variable name
7.點一下button,選擇event=>mouseclicked=>選okmouseclicked
8.在private void okMouseClicked(java.awt.event.MouseEvent evt) { }中,輸入 System.out.println(grade.getText());
=>用getText()抓grade文字欄位的資料
 
 
 
 
文章標籤

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

農曆春節快到了,非常感謝學校老師對兒子的諸多照顧,

決定和兒子一起手作小食送給老師,搜尋了好多食譜,最後定案的是藍莓蛋糕!!

小人非常開心~穿上只穿過一次的圍兜準備開工囉!

材料包括:

1.鬆餅粉200g

2.雞蛋兩顆

3.黑糖10g(因為家裡只有有機黑糖沒有細砂糖)

4.無鹽奶油60g(或100g)

5.新鮮藍莓

dscn1611-e1554173011311.jpg

步驟一:先把奶油在室溫放到非常軟,再倒入盆中準備打爛!

dscn1616-e1554173055511.jpg

步驟二:用打蛋器把奶油打成泥狀

dscn1618-e1554173074411.jpg

步驟三:加入糖繼續攪拌

dscn1620-e1554173136259.jpg

步驟四:先把雞蛋稍微打散,看小朋友打蛋真是一件有趣的事

dscn1624-e1554173159527.jpg

步驟五:把奶油和糖及雞蛋拌勻,要攪拌到非常均勻喔!

dscn1625-e1554173171876.jpg

步驟六:分次加入鬆餅粉,慢慢攪拌

dscn1628-e1554173191479.jpg

要攪拌到呈現如圖中不會有顆粒很光滑又糊糊的狀態

dscn1631-e1554173213696.jpg

步驟七:參考網友的做法,把鬆餅粉糊裝到塑膠袋中剪個洞,擠到紙杯中

dscn1633-e1554173224702.jpg

步驟八:擠一半加入藍莓!可以依個人喜好決定要加的量!我們都加個七八顆!

dscn1636-e1554173237235.jpg

步驟九:再把藍莓蓋住,大概擠到杯子的七分滿就好,因為烤過以後會膨脹!

dscn1637-e1554173250368.jpg

步驟十:烤箱160度先預熱,然後調高溫度,我是用190度左右烤25分鐘,就如下圖囉!

dscn1647-e1554173263291.jpg

因為我也是第一次做,感覺表皮硬硬的,

裡面還軟軟濕濕的我就忍不住多烤了好幾分鐘,

結果就是不小心整顆都硬掉了...冏

這樣的材料做出來剛好三個半的杯子蛋糕,剩下半個和兒子一起品嘗試吃!

雖然硬掉了口感有點特殊,但是很香脆,吃起來非常像藍莓酥 哈!

後來問兒子,他說他不喜歡藍莓但是很喜歡酥酥的蛋糕!

總之~算是一半成功囉!

本來有點擔心會做很久,結果不到半小時就弄好,大部分都是在烤的時間喔!

非常適合想要跟寶貝一起體驗烘培樂趣的朋友們!

 

 

文章標籤

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

之前與兒子試作的藍莓杯子蛋糕對兒子來說過程有點太長...

讓他有點無聊,剛好過年前要買ifit的微卡食物,看到這款手作蛋糕超簡單!

立刻購入準備和兒子一起diy!

dscn2004-e1554171979159.jpg

因為是ifit推薦的微卡零食,所以熱量肯定是不高的!

一包蛋糕粉+一包堅果+一顆雞蛋,可以做兩個杯子蛋糕,平均一個熱量為:

(127.2+16.4+75)/2=109.3

這樣的熱量以蛋糕來說確實是很低卡了!

dscn2002-e1489502641328.jpg

做法真的簡單到讓人想哭:

只要把粉加雞蛋攪拌均勻,分別放入杯子中,放上一點堅果,

就可以送進為波爐囉!

2個小杯子蛋糕用800w的微波爐只要50秒!!

dscn2003-e1489502652128.jpg

拆開包裝,總共4包蛋糕粉、4包堅果和8個杯子!

dscn2005-e1489502664620.jpg

準備好工具及材料:一顆蛋、材料包、容器和筷子(打蛋用)

dscn2040-e1489502675650.jpg

蛋糕粉倒出來,有濃濃的巧克力香味,兒子一直說好香喔,超擔心他直接吃粉的 哈!

dscn2043-e1489502687432.jpg

把蛋加進去,因為個人是廚藝白癡,所以一直在想是不是要加水呀?

只加一顆蛋真的能攪拌均勻嗎?

dscn2051-e1489502711635.jpg

事實證明,真的可以喔!!而且不需要用攪拌器,只要筷子攪拌攪拌,就完成了!

小朋友也可以做到!

dscn2051-e1489502711635.jpg

攪拌完放到小杯子裡,這時候發現,攪拌的容器不要太大呀,不然真的很難裝。

dscn2053-e1489502723794.jpg

再撒上堅果!大功告成!送進微波爐!!

dscn2057-e1489502735275.jpg

真的50秒,就變成小蛋糕了!!連婆婆看到都說也太快了吧!現在真是方便!

dscn2059-e1489502749803.jpg

就是這麼簡單就完成小蛋糕囉!

兒子超開心而且不用擔心衣服弄髒,因為真的沒甚麼弄髒的步驟 哈!

試吃覺得不會太甜,也不油因為過程中都沒有加油和糖!非常好!!!

兒子超喜歡,吃完還說明天還要繼續做 哈!

整體來說:

個人對微卡手作3分鐘蛋糕-巧克力職人的評價是4.5顆星

因為快速、好玩、好吃又低熱量,一次滿足四大需求呀!!

兒子的評價大概是5顆星吧!

他真的很愛巧克力蛋糕,還是自己做的,吃飽飯已經快吃不下了還要硬塞!!

相關試吃文 1:樂喵屋(ifit推薦)–微卡蒟蒻湯麵–減肥的好夥伴!3分鐘可上桌的低熱量湯麵!

相關試吃文 2:ifit推薦-微卡手糙米粥-韓式泡菜

文章標籤

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