當前位置:編程學習大全網 - 編程語言 - 計算機導論

計算機導論

西安工業大學

操作系統課程設計報告

課程名稱:銀行家算法

學校:計算機科學與工程學院

指導老師:姜紅

學生:王

班級級別:網絡工程080610127

完成時間:2065 438+00 65438+2月25日。

操作系統課程設計報告

課程名稱:銀行家算法

學校:計算機科學與工程學院

指導老師:姜紅

學生:王

班級級別:網絡工程080610127

目錄

1,項目內容、要求和分組概述2

2.概要設計2

2.1開發工具和環境2

2.2任務和需求分析2

2.3功能模塊設計2

2.4工作原則3

3.具體實現3

3.1類設計3

3.2模塊和實現代碼介紹3

4、運行調試和分析討論4

5、設計經驗和總結6

6.參考文獻7

附錄:(源程序)7

1.項目內容、要求和分組的壹般介紹。

項目內容和要求:

這個實驗的目標是制作壹個可以進行四則簡單運算(加、減、乘、除)的計算器。

小組的具體分工如下表所示:

組長錢江波

成員子項目名稱的具體要求

錢江波形模塊的組合和測試找出了程序的錯誤並進行修正。

小全的數字鍵的註冊會將數字鍵註冊給監聽器,使其正常工作。

劉大輝窗口設計計算器界面的創建與分配

李曉陽小組其余成員的工作是完成這個程序。

詹剛剛寫了壹個具體的計算方法,加入了運算符號和功能代碼。

2.輪廓設計

2.1開發工具和環境

文本編輯器:記事本;

操作環境:命令提示符(DOS環境)。

2.2任務和需求分析

設計壹個簡單的計算器程序,實現簡單的運算(加減乘除)。具體任務如下:

1)計算器窗口界面布局設計;

2)各種計算函數的算法分析;

3)編程實現特定的計算功能;

4)運行測試程序,調試並糾正運行錯誤。

5)調試正確,運行並測試具體算法功能。

2.3功能模塊設計

計算器的模塊設計如下:

2.4工作原理

單擊相應的數字鍵,該數字將顯示在顯示的文檔中。要進行相應的運算,先輸入第壹個計算數,再輸入運算符,再輸入第二個計算數,點擊“=”按鈕即可得到計算結果。同時也有歸零功能。點擊此按鈕,在顯示欄中歸零。

3.具體實施

3.1類設計

班級名稱:季酸七

功能:功能代碼,窗口布局設置

公共類計算器擴展WindowAdapter

{}

WindowAdapter實現WindowListener的類,並實現WindowListener。

frame . addwindowlistener(new window adapter(){ });———————————————————————————

類名:WindowDestroyer

功能:用於退出窗口操作。

關鍵代碼:

類close實現ActionListener {

public void action performed(action event e){

system . exit(0);

}

3.2模塊和實現代碼介紹

框架fm =新框架(“簡易計算器”);

for(int I = 0;我& lt= 16;i++) {

b[i] =新建按鈕(ss[I]);

}

for(int I = 0;我& lt= 15;i++) {

p2 . add(b[I]);

}//創建壹個按鈕並將其添加到P2

b[16]。set background(color . yellow);

txt = new TextField(15);

txt . set editable(false);

for(int I = 0;我& lt= 16;i++) {

b[i]。addActionListener(new button listener());…… }

註意:該方法主要設置窗口、面板和按鈕。定義每個鍵(定義每個鍵要實現什麽功能),排列,在監聽器上註冊每個鍵。

———————————————————————————

txt . settext(txt . gettext()+BTN . get label());

If (btn.getLabel() == "歸零")

txt . settext(" ");

註意:這段代碼會在每次輸入時將文本清空。

———————————————————————————

ClassClose實現操作偵聽器{//Exit。

public void action performed(action event e){

system . exit(0);

}

註意:這個方法實現了窗口的關閉。

4.運行調試及分析討論

調試並運行4*5操作,操作過程如下:

1)在命令提示符下運行計算器程序,如下所示:

2)顯示計算器界面,輸入第壹個運算值“4”,如下圖:

3)輸入運算符“*”,如下所示:

4)輸入第二個操作值“5”,如下圖所示:

5)點擊計算器按鈕“=”獲得計算結果。如下圖所示:

5、設計經驗和總結

通過這個課程設計,我們知道java也可以協同工作。雖然最後的整合過程很麻煩,但是整合之後我們發現課本被翻了很多遍,很多以前不知道的東西突然變得清晰起來。我們還引用了很多沒用過的句子塊,大部分都是在網上找的,然後我們自己集成到代碼裏,然後實現了我們想要的功能。

編程是壹個困難的過程。很多函數語句需要上網或者查別的書來查用法。課本上的東西對我們來說是遠遠不夠的,要把眼光放長遠。

這個課程設計讓我對JAVA中的很多東西有了更深刻的理解。以前要求自己理解,現在發現光用光能理解是不夠的。能理解不代表妳能!妳要真正親身經歷過才會知道。

這周的課程設計是這學期最累的壹周,但是我們的努力終於有了回報。雖然我們的計算器可能還有很多問題,但至少可以正常運行四則運算,基本滿足我們的預期要求。所以,這壹周也是我最充實的壹周。

6.參考

[1]杜春濤,面向對象程序設計-—Java語言,中國鐵道出版社。

[2]丁·,JAVA語言實用教程,北京郵電大學出版社。

[3]www.baidu.com

附錄:(源程序)

導入Java . awt . *;

導入Java . awt . event . *;

public class jisuanqi擴展WindowAdapter {

Panel p 1 = new Panel();

Panel p2 = new Panel();

面板p3 =新面板();

TextField txt

私有按鈕[] b =新建按鈕[17];

Private stringss [] = {"7 "," 8 "," 9 "," 4 "," 5 "," 6 "," 1 "," 2 "," 3 "," * ","零","

靜態雙a;

靜態字符串s,str//定義變量來創建對象

公共靜態void main(String args[]) {

(新計算器())。frame();

}

公共void框架(){

框架fm =新框架(“簡易計算器”);

for(int I = 0;我& lt= 16;i++) {

b[i] =新建按鈕(ss[I]);

}

for(int I = 0;我& lt= 15;i++) {

p2 . add(b[I]);

}//創建壹個按鈕並將其添加到P2

b[16]。set background(color . yellow);

txt = new TextField(15);

txt . set editable(false);

for(int I = 0;我& lt= 16;i++) {

b[i]。addActionListener(new button listener());//添加偵聽器

}

b[16]。addActionListener(new close());

fm.addWindowListener(這個);

FM . set background(color . red);

p 1 . set layout(new BorderLayout());

p1.add(txt," North ");

p2.setLayout(new GridLayout(4,4));

P3 . set layout(new BorderLayout());

P3 . add(b[16]);

fm.add(p1,"北");

fm.add(p2,“居中”);

fm.add(p3,“南”);

FM . pack();

fm.setVisible(真);//都是窗口設置,添加相關組件和監聽器。

}

public void window closing(window event e){

system . exit(0);//退出系統

}

類buttonlistener實現ActionListener {

//寫監聽器事件,按鍵得到結果。

public void action performed(action event e){

Button BTN =(Button)e . getsource();

if(BTN . get label()= = " = " {

吉蘇安();

str = string . value of(a);

txt . settext(str);

s =

} else if(BTN . get label()= = "+" {

吉蘇安();

txt . settext(" ");

s = "+";

} else if(BTN . get label()= = "-" {

吉蘇安();

txt . settext(" ");

s = "-";

} else if (btn.getLabel() == "/") {

吉蘇安();

txt . settext(" ");

s = "/";

} else if (btn.getLabel() == "*") {

吉蘇安();

txt . settext(" ");

s = " *

}否則{

txt . settext(txt . gettext()+BTN . get label());

If (btn.getLabel() == "歸零")

txt . settext(" ");

}

}

public void Ji suman(){//寫壹個具體的計算方法。

if (s == "+")

a+= double . parse double(txt . gettext());

else if (s == "-")

a-= double . parse double(txt . gettext());

else if (s == "* ")

a* = double . parse double(txt . gettext());

else if (s == "/")

a/= double . parse double(txt . gettext());

其他

a = double . parse double(txt . gettext());

}

}

}

ClassClose實現操作偵聽器{//Exit。

public void action performed(action event e){

system . exit(0);

}

}

  • 上一篇:機自專業全稱
  • 下一篇:python經典算法有哪些
  • copyright 2024編程學習大全網