利用XML程式設計實踐簡易學生成績管理系統

2021-07-31 03:27:51 字數 3791 閱讀 2497

這種模式就是典型的mvc模式,由下層的model(domain)層提供資料物件一步一步地到dao層,再到ui層。

//              exam.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>

examid="123"

idcard="111">

cecilianame>

北京location>

90grade>

student>

examid="456"

idcard="112">

maryname>

深圳location>

88grade>

student>

examid="789"

idcard="113">

fientname>

上海location>

95grade>

student>

examid="222"

idcard="">

ccname>

廣州location>

99.0grade>

student>

examid="123"

idcard="114">

nacyname>

廣州location>

80.0grade>

student>

exam>

/**

* 學生實體類

*@author 芷若初蕁

* */

public

class

student

public

void

setidcard(string idcard)

public string getexamid()

public

void

setexamid(string examid)

public string getname()

public

void

setname(string name)

public string getlocation()

public

void

setlocation(string location)

public

double

getgarde()

public

void

setgarde(double garde)

}

/**

* 工具類(當中的方法一般約束為靜態的方法)

*@author 芷若初蕁

* */

public

class

xmlutils

// 將資料寫回xml檔案中

public

static

void

write2xml(document document) throws exception

}

/**

* 資料訪問物件

*@author 芷若初蕁

* @exception studentnotexistexception

*/public

class

studentdao catch (exception e)

}// 查詢學生資訊

public student find(string examid)

}return

null;

} catch (exception e)

}// 刪除學生資訊

public

void

delete(string name) throws studentnotexistexception

}// 自定義異常

throw

new studentnotexistexception(name+"不存在!");

} catch (exception e)

}}

==異常小結:==**在後台中一般出現異常就會throws或者try,在前台和使用者發生互動時,異常必須try自己處理,然後提供給使用者一些友好提示就行,不能直接拋,不然會出現異常拋到了使用者介面,這對使用者評價我們的程式有著不好的影響。**對於編譯時異常,我們一般會自己抓並且將其記錄下來然後轉給下一層;對於執行時異常,只是將這個異常丟擲去,拋給上一層,上一層遇到這個異常時可能會處理,也可能不會處理,對程式執行沒有多大的影響。

/**

* 自定義異常

* 注意:寫異常時需要注意它屬於哪種型別的,父親是執行時runtime異常還是編譯時的異常

*@author 芷若初蕁

@exception studentnotexistexception

* */

public

class

studentnotexistexception

extends

exception

public

studentnotexistexception(string message)

public

studentnotexistexception(throwable cause)

public

studentnotexistexception(string message, throwable cause)

public

studentnotexistexception(string message, throwable cause, boolean enablesuppression,

boolean writablestacktrace)

}

**對於這個系統程式中存在add新增的方法,我們不能採用(checked exception)編譯時異常,需要將其轉型成執行時異常(unchecked exception),並且自定義乙個異常studentnotexistexception(對於自定義異常時,建立時必須要搞清楚我們的異常是屬於哪一類,父親是編譯時異常還是runtime異常,然後重寫父親異常的方法就行。),自定義異常比較簡單,關鍵還是在於我們為什麼要自定義異常,選擇哪一類異常。
/**

* 互動類

* @author 芷若初蕁

* */

public

class studentmain

else

if("b".equals(type)) catch (studentnotexistexception e)

}else

if("c".equals(type))else

}else

} catch (ioexception e) }}

***對於異常的分析和使用,必須需要注意,總結也就幾個點:**哪種場景需要哪類異常?(前台和後端)**是採用編譯時異常還是執行時異常?

**是自定義還是?又what?

***mvc模型的具體實現思路簡單來說就是物件上傳資料到dao層進行處理最後提交給互動層來向使用者展示出來,具體細節部分還是得自己多仔細琢磨。

簡易學生成績管理系統Python

coding utf 8 import random 成績管理系統 score 錄入成績 score 語文 英語 物理 化學 生物 查詢 print 按照科目查詢 course input 請輸入科目 n print score course print 按照科目和姓名查詢 course input...

MySQL建立乙個簡易學生成績系統

啟動mysql服務並進入mysql shell 建立乙個資料庫gradesystem create database gradesystem 資料庫裡面放三張表 第一張學生表student 學生id 主鍵 學生姓名 學生性別 sidsname gender 1zhangsan male 2lisi ...

簡易版學生成績管理系統 c

include 基本輸入輸出流 include 檔案操作流 include 演算法 include string類 using namespacestd struct student 結構體 char name 20 姓名 double chi 語文成績 double math 數學成績 doubl...