




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——Java計算器試驗報告
一、目標:
通過Java程序開發實訓使學生把握《面向對象程序設計(Java)》課堂講授的內容,靈活運用到Java程序的開發與設計中。二、要求:
按時參與Java程序開發實訓訓練,不得遲到和早退;獨立完成程序設計;按要求撰寫實踐報告。三、詳細內容:
使用《面向對象程序設計(Java)》課程講授內容,編寫一個簡單的計算器,要求實現如下功能:1.進行圖形界面設計
通過圖形界面設計,把握Frame類、Panel類、5種布局管理器、文本框、標簽及按鈕的使用方法。2.實現計算器的基本功能
包括加減乘除四則運算、清除結果等功能。3.實現計算器的存儲計算功能
包括清空、使用清零、退格。和基本運算4.類的屬性及所用到的方法布局
布局:
整個界面(Frame)采用BorderLayout布局P1組件添加到Frame的南部
P1采用默認的流式布局添加文本框
P2組件添加到Frame的中部P2采用網格布局四行五列放各種按鈕用到的類:mycalKeyAdapterWindowAdapterMyCal類:mycal類的屬性:
b[];按鈕數組保存各種按鍵以后放到Panel2中tf;文本匡顯示輸入及運算結果num1,num2,jieguo運算數
charc,ch;運算符號,ch為輸入的運算符號,c保存ch輸入的“+-*/〞
Panelp1,p2;//兩個組件p1放文本匡p2放按鈕P2的布局為網格布局5行4列
mycal類的方法:1.構造方法:
設置標題;設置文本框;
文本框中添加匿名內置類(KeyAdapter)實現鍵盤
2
的輸入和運算;
將各種組件添加到容器,設置各種按鍵的顏色;添加WindowListenr監聽器設置關閉按鈕;
2.Main方法:
新建一個mycal類;4.actionPerformed方法:設置按鈕的輸入和運算,
當按下運算數將其顯示在文本匡中假使之前清零則
將零去除
當按下運算符將其保存在c中并將文本匡內容清空當按下等號判斷字符c的符號進行相應的運算并將結果顯示在文本框中。
當按下清空按鈕將文本框清空,當按下退格按鈕取文本框中字符串的字串刪除一個符號。KeyAdapter類:
KeyAdapter類的屬性:mycal類中的屬性
KeyAdapter類的方法:keyPressed()方法當鍵盤按下時,判斷鍵盤的輸入當為“+-*/〞時記錄下num1及c;
當為〞=〞或“Enter〞時記錄下num2并將結果計算出來keyReleased()方法
3
當鍵盤松開時,
假使是按下“+-*/〞后松開將文本框清空
假使是按下“=〞或“Enter〞后松開將計算結果顯示在文本框中WindowAdapter類:
WindowAdapter類的屬性:WindowEvente
WindowAdapter類的方法:
windowClosing();設置關閉按鈕
、四、源代碼
/*
類mycal繼承Frame實現了ActionListener接口;
往容器中添加兩個組件Panel1,Panel2;Panel中放置文本匡,Panel2中放置各種按鍵;文本匡中以匿名內置類的方式添加鍵盤監聽器實現鍵盤的輸入及運算;
為Panel2中各種按鍵添加動作監聽器實現按鍵的輸入及運算;
*/
4
importjava.awt.*;importjava.awt.event.*;
classmycalextendsFrameimplementsActionListener{
privateButton[]b;privateTextFieldtf;
privatedoublenum1,num2,jieguo;//運算數privatecharc,ch;//運算符Panelp1,p2;//兩個組件publicmycal(){
setTitle(\p1=newPanel();tf=newTextField(25);
tf.addKeyListener(newKeyAdapter(){//添加鍵盤監聽器現鍵盤的輸入及運算
publicvoidkeyPressed(KeyEvente){
charch=e.getKeyChar();if(\{}
if(ch=='='|ch==e.VK_ENTER){
num2=Double.parseDouble(tf.getText());num1=Double.parseDouble(tf.getText());c=ch;switch(c){
case'+':jieguo=num1+num2;break;case'-':jieguo=num1-num2;break;case'*':jieguo=num1*num2;break;case'/':jieguo=num1/num2;break;}}
publicvoidkeyReleased(KeyEvente){
charch=e.getKeyChar();if(\{}
if(ch=='='|e.getKeyCode()==e.VK_ENTER)
tf.setText(null);}
5
{tf.setText(Double.toString(jieguo));
}
}
});
p1.add(tf)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論