




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java 課程設(shè)計(jì)信 101 楊賽 20103141164-Z JHekei InsM of IrchMre & CMI nilieeringJava課程設(shè)計(jì)報(bào)告計(jì)算器設(shè)計(jì)與實(shí)現(xiàn)班級(jí):信101 學(xué)號(hào):2010414116姓名:楊賽指導(dǎo)老師:李紅強(qiáng)引言Java 不依賴平臺(tái)的特點(diǎn)使它受到廣泛的關(guān)注, Java 已成為網(wǎng)絡(luò)時(shí)代最重要的 語(yǔ)言之一。 Java 具有平臺(tái)無(wú)關(guān)性,面向?qū)ο?,多線程,安全,動(dòng)態(tài)等特點(diǎn)。 Java 語(yǔ)言和其他語(yǔ)言相比, 最大的優(yōu)勢(shì)在于能夠在所有的計(jì)算機(jī)上運(yùn)行,這也是 Java 風(fēng)靡全球的主要原因。 Java 的面向?qū)ο缶幊淌且环N先進(jìn)的編程思想, 可以更容易 的解決復(fù)雜的
2、問(wèn)題。 面向?qū)ο缶幊讨饕w現(xiàn)在以下三個(gè)方面: 封裝, 繼承, 多態(tài)。 因此 Java 不僅可以用來(lái)開(kāi)發(fā)大型的桌面應(yīng)用程序,而且特別適用于 Internet 的 應(yīng)用開(kāi)發(fā)。目前, Java 語(yǔ)言不僅是一門被廣泛使用的編程語(yǔ)言,而且成為軟件設(shè) 計(jì)開(kāi)發(fā)者應(yīng)當(dāng)掌握的一門基礎(chǔ)語(yǔ)言。 Java 語(yǔ)言面向?qū)ο缶幊?,并涉及網(wǎng)絡(luò),多線 程等重要的基礎(chǔ)知識(shí)。 因?yàn)楹芏嘈碌募夹g(shù)領(lǐng)域都涉及到 Java 語(yǔ)言,國(guó)內(nèi)外許多大 學(xué)已經(jīng)將Java語(yǔ)言列入了本科教學(xué)計(jì)劃,而IT行業(yè)對(duì)Java人才的需求也不斷的 增長(zhǎng)。在 IT 行業(yè)發(fā)達(dá)的國(guó)家,有將近 60%的軟件開(kāi)發(fā)人員使用 Java 的基礎(chǔ)培訓(xùn) 工作。一些軟件公司對(duì)其開(kāi)發(fā)人員
3、周期性的進(jìn)行 Java的基礎(chǔ)培訓(xùn)工作。因此,學(xué) 習(xí)和掌握 Java 已經(jīng)成為共識(shí)。在學(xué)完了 Java 程序設(shè)計(jì)基礎(chǔ)課程后, 我們這小組進(jìn)行 Java 課程設(shè)計(jì)的教程, 在熟練運(yùn)用 Eclipse 環(huán)境下,來(lái)完成這個(gè)實(shí)用性計(jì)算器。1.2 課程設(shè)計(jì)內(nèi)容實(shí)用型計(jì)算器的特點(diǎn)是通過(guò)用戶注冊(cè),登錄并實(shí)用計(jì)算器,計(jì)算過(guò)程對(duì)數(shù)據(jù) 有自動(dòng)保存。通過(guò)集中式的信息數(shù)據(jù)庫(kù),將用戶信息與使用情況都存儲(chǔ)起來(lái),達(dá) 到數(shù)據(jù)共享,降低成本,提高效率,改進(jìn)服務(wù)的目的,進(jìn)而實(shí)現(xiàn)該計(jì)算器實(shí)用性 的優(yōu)勢(shì)。實(shí)用性計(jì)算器包含以下內(nèi)容:(1)計(jì)算功能該功能用于計(jì)算各種四則運(yùn)算、三角函數(shù)、進(jìn)制轉(zhuǎn)換、求余數(shù)、求對(duì)數(shù)等日 常實(shí)用頻率較高的功能。(
4、2)統(tǒng)計(jì)匯總的功能該功能對(duì)計(jì)算器運(yùn)行數(shù)據(jù)進(jìn)行存儲(chǔ),提供用戶對(duì)數(shù)據(jù)查詢。(3)查詢功能該計(jì)算器的存儲(chǔ)功能提供給用戶對(duì)歷史信息的查詢,可以按照時(shí)間查詢。第 2 章 實(shí)用型計(jì)算器的設(shè)計(jì)這一章是實(shí)用型計(jì)算器的設(shè)計(jì),從系統(tǒng)需求分析開(kāi)始,介紹開(kāi)發(fā)環(huán)境和用到的開(kāi)發(fā)工具,系統(tǒng)主要的功能設(shè)計(jì),系統(tǒng)的數(shù)據(jù)流程圖。主要功能要求本計(jì)算器針對(duì)在校大學(xué)生對(duì)計(jì)算的要求及市場(chǎng)上計(jì)算器現(xiàn)狀,做出更實(shí)用便 捷的計(jì)算器。本計(jì)算器主要實(shí)現(xiàn)如下功能:系統(tǒng)采用人機(jī)對(duì)話方式,界面美觀友好,信息查詢靈活、方便、 快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。通過(guò)注冊(cè)賬號(hào)并登錄實(shí)現(xiàn)用戶個(gè)人實(shí)用信息的存儲(chǔ)并查詢。系統(tǒng)操作簡(jiǎn)單,界面簡(jiǎn)潔明了。 數(shù)據(jù)計(jì)算自動(dòng)完成,
5、提高計(jì)算效率。 用戶信息存儲(chǔ)清晰明了,便于查詢。以時(shí)間為數(shù)據(jù)存儲(chǔ)開(kāi)頭,存儲(chǔ)用戶計(jì)算的數(shù)據(jù)。系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。系統(tǒng)模塊化分析計(jì)算器主界面布局計(jì)算器主界面主要用了 Flowlayout 布局和 Gridlayout 布局的結(jié)合,更加簡(jiǎn) 潔明了。1)注冊(cè)模塊流程圖Java課程設(shè)計(jì)信 101 楊賽 201031411610圖1 :用戶注冊(cè)模塊圖2)查詢模塊流程圖圖2:查詢模塊圖3)計(jì)算模塊流程圖圖3:計(jì)算模塊圖實(shí)用型計(jì)算器各模塊介紹各功能模塊實(shí)現(xiàn)的功能為:登錄模塊:對(duì)登錄用戶進(jìn)行判斷是否合法,方便對(duì)用戶查詢計(jì)算歷史記錄查詢的管理。合法情況下,用戶才能進(jìn)入并
6、實(shí)用計(jì)算器。注冊(cè)模塊:對(duì)新用戶進(jìn)行簡(jiǎn)單的注冊(cè),方便使用計(jì)算器和歷史記錄查詢。計(jì)算模塊:對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的計(jì)算處理,得出計(jì)算結(jié)果并將計(jì)算結(jié)果以系統(tǒng)時(shí)間為數(shù)據(jù)開(kāi)頭存儲(chǔ)到歷史記錄文件中。信息查詢模塊:對(duì)用戶使用計(jì)算器計(jì)算的歷史記錄保存,方便用戶查詢。表3-1各模塊名稱功能匯總表序號(hào)模塊名基本功能1登錄模塊登錄用戶2注冊(cè)模塊提供新用戶注冊(cè)服務(wù)2計(jì)算模塊對(duì)數(shù)據(jù)進(jìn)行計(jì)算,并將結(jié)果保存到歷史記錄文件中3信息查詢對(duì)用戶使用計(jì)算器計(jì)算的歷史記錄進(jìn)行查詢和用戶信息 查詢計(jì)算器的具體實(shí)現(xiàn)界面是系統(tǒng)之間最直接的交互界面,界面的友好性體現(xiàn)了軟件設(shè)計(jì)的質(zhì)量,并在很大程度上決定了軟件是否成功。界面設(shè)計(jì)用戶登陸界面圖如圖4所示
7、圖4用戶登錄模塊框圖此JavaScript函數(shù)的作用是檢測(cè)用戶登陸的合法性,并確認(rèn)用戶輸入了合法的登錄名和口令。注冊(cè)用戶界面用尸名:'性另I:燈男;女畫碼確認(rèn)密碼確定取消圖5注冊(cè)用戶界面簡(jiǎn)單的用戶信息注冊(cè),為用戶節(jié)約不必要的時(shí)間。系統(tǒng)主界面Sin二講制TenModSqr t23圖6系統(tǒng)主界面為了操作的簡(jiǎn)單明了,我們采用了 Flowlayout布局和Gridlayout布局,簡(jiǎn)潔明了。 以系統(tǒng)時(shí)間為數(shù)據(jù)頭存儲(chǔ),方便查詢。3.2程序設(shè)計(jì)及調(diào)試運(yùn)行做到程序簡(jiǎn)潔清楚,盡量避免可能潛在 以便于程序閱讀和修改。利用JSP “一次編寫,各處運(yùn)行”的編程優(yōu)點(diǎn),按功能模塊結(jié)構(gòu)設(shè)計(jì)菜單,布置 各明細(xì)模塊工
8、作界面,編寫各個(gè)模塊的程序代碼,進(jìn)行編譯連接運(yùn)行,經(jīng)過(guò)反復(fù) 調(diào)試修改,以達(dá)到系統(tǒng)功能要求。這個(gè)過(guò)程具有大量的工作量,應(yīng)仔細(xì)對(duì)每個(gè)程 序細(xì)節(jié)進(jìn)行分析思考、編寫程序并調(diào)試, 的程序錯(cuò)誤,并在必要的地方加以注釋,利用javac命令對(duì)文件進(jìn)行編譯,使用命運(yùn)行結(jié)果演示:將文件A保存到同一個(gè)文件夾中。 令如下:Javac Calculator.java之后,利用java命令執(zhí)行程序,使用命令如下:Java Calculator初始登入界面 登入界面用于可以用來(lái)登入,或進(jìn)行進(jìn)入注冊(cè)界面注冊(cè)界面,用來(lái)實(shí)現(xiàn)新用戶的注冊(cè)功能登入以后的計(jì)算界面Java 課程設(shè)計(jì)信 101 楊賽 2010314116第 4 章 結(jié)束
9、語(yǔ)針對(duì)大學(xué)生學(xué)習(xí)生活中對(duì)數(shù)據(jù)的計(jì)算需求的特點(diǎn),及結(jié)合市場(chǎng)上現(xiàn)有計(jì)算器 的不足之處,我們小組結(jié)合現(xiàn)狀研究出了更實(shí)用的計(jì)算器,為了方便日常生活。附錄 源代碼importjava.awt.*;importjava.util.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;importjava.io.*;importjava.text.*;publicclass Calculator impl1)2)3)4)經(jīng)過(guò)兩個(gè)禮拜的奮斗,我們小組終于將這個(gè)實(shí)用型計(jì)算器做了出來(lái),但
10、是由 于能力有限及時(shí)間非常短暫,我們的產(chǎn)品還有以下不足之處: 界面過(guò)于樸素,美觀程度不夠 在一些較復(fù)雜計(jì)算按鈕不能生動(dòng)地在文件域內(nèi)顯示 有些復(fù)雜的計(jì)算方式?jīng)]有加進(jìn)去 計(jì)算器過(guò)于普通,不夠生動(dòng)UIManager. sName();setLookAndFeel(UIManager. getSystemLookAndFeelClasstaticJTextFieldtxt; / 聲明文本框?qū)ο髎taticJFramef;staticJDialoglogin ,addUser ; / 登入和注冊(cè)對(duì)話框staticdoubleyi , jieg, temp ; / 聲明中間變量和結(jié)果變量staticint
11、 fh= 5;/ 選擇計(jì)算模式,用于選擇雙目運(yùn)算staticStrings;publicCalculator()tryActionListener 12-catch (Exception e) Java 課程設(shè)計(jì)信 101 楊賽 2010314116System. out .println (" 無(wú)法設(shè)置界面風(fēng)格 " );new JFrame( " 計(jì)算器");/ 創(chuàng)建一個(gè)標(biāo)題名為計(jì)算器的窗口f .setSize(420, 350);/設(shè)置窗口的大小(寬度和高度)f .setLocation(300, 300);/ 設(shè)置在屏幕出現(xiàn)的默認(rèn)位置/*Java計(jì)
12、算器 菜單的創(chuàng)建*/JMenuBar mBar =new JMenuBar();/ 創(chuàng)建菜單條對(duì)象JMenu mView=new JMenu("查看(V)");/ 創(chuàng)建查看菜單JMenuItem mRecord=new JMenuItem(" 歷史紀(jì)錄 (H)" ); / 創(chuàng)建歷史記錄菜單項(xiàng)JMenuItem uInform=new JMenuItem(" 用戶信息 (U)" ); / 創(chuàng)建1-14用戶信息菜單項(xiàng)JPanel p =new JPanel();/ 創(chuàng)建 JPanel面板(中間容器)JPanel p1 =JPanel p2
13、 =JPanel p3 =JPanel p4 =JPanel p5 =JPanel p6 =JPanel p7 =new JPanel(); new JPanel(); new JPanel(); new JPanel(); new JPanel(); new JPanel(); new JPanel();txtnew JTextField(30);/ 創(chuàng)建文本框txt .setHorizontalAlignment(JTextField.RIGHT); / 設(shè)置文本框的屬性為右對(duì)齊JButton bt00= new JButton("Sin" );/ 創(chuàng)建標(biāo)題名為 Sin
14、 的按鈕組件,進(jìn)行 sin 函數(shù)計(jì)算"Cos" );"Tan" );JButton bt =JButton bt1 =new JButton( new JButton(JButton bt2 =new JButton("Log" );/ 創(chuàng)建標(biāo)題名為 LogJava課程設(shè)計(jì)信 101 楊賽 201031411611JButton bt3 =的按鈕組件,進(jìn)行底為new JButt on(e的對(duì)數(shù)計(jì)算函數(shù)計(jì)算"Len")JButton bt4 =new JButt on("二進(jìn)制JButton bt5 =ne
15、w JButt on("Back"的按鈕,對(duì)于輸出的數(shù)字進(jìn)行退格JButton bt6 =new JButt on("C");進(jìn)行復(fù)位功能JButton bt7 =new JButt on("7");JButton bt8 =new JButt on("8");JButton bt9 =new JButt on("9");JButton bt0 =new JButt on("/");JButton bt11 =new JButt on("Sqrt"JBut
16、ton bt12 =new JButt on("4");JButton bt13 =new JButt on("5");JButton bt14 =new JButt on("6");JButton bt15 =new JButt on("*" )JButton bt16 =new JButt on("Mod"JButton bt17 =new JButt on("1");JButton bt18 =new JButt on("2");JButton bt
17、19 =new JButt on("3");JButton bt10 =new JButt on("-");JButton bt21 =new JButt on("1/x"JButton bt22 =new JButt on("0");JButton bt23 =new JButt on("+/-"JButton bt24 =new JButt on(".");JButton bt25 =new JButt on("+");JButton bt26 =ne
18、w JButt on("=");的按鈕組件,進(jìn)行底為10的對(duì)數(shù)計(jì)算函數(shù)計(jì)算);););););mRecord.addActio nListe ner(this);");/創(chuàng)建標(biāo)題名為L(zhǎng)en/創(chuàng)建標(biāo)題名為Back/初始化計(jì)算器按鈕,/求數(shù)字的平方根按鈕/求余數(shù)計(jì)算按鈕/求倒數(shù)計(jì)算按鈕Java 課程設(shè)計(jì)信 101 楊賽 20103141161-5uInform.addActionListener(this);bt00.addActionListener(this );/ 為各個(gè)按鈕添加監(jiān)視器bt.addActionListener( bt1.addActionList
19、ener( bt2.addActionListener( bt3.addActionListener( bt4.addActionListener( bt5.addActionListener( bt6.addActionListener( bt7.addActionListener( bt8.addActionListener( bt9.addActionListener( bt0.addActionListener( bt11.addActionListener( bt12.addActionListener( bt13.addActionListener( bt14.addActionL
20、istener( bt15.addActionListener( bt16.addActionListener( bt17.addActionListener( bt18.addActionListener( bt19.addActionListener( bt10.addActionListener( bt21.addActionListener( bt22.addActionListener( bt23.addActionListener( bt24.addActionListener( bt25.addActionListener( bt26.addActionListener();th
21、is this this this this this this this this this this this this this this this this this this this this this this this this this this););););););););););););););););););););););););););/*計(jì)算器界面布局 */f .setLayout( new BorderLayout(12, 2);/ 邊界布局f .add(p, BorderLayout.f .add(p1, BorderLayout.f .add(p2);NO
22、RTH);WEST);mView.add(mRecord);/ 在查看菜單里面添加歷史記錄菜單項(xiàng)mView.add(uInform);/ 在查看菜單里面添加用戶信息菜單項(xiàng)mBar.add(mView);/ 在菜單條上添加查看菜單f .setJMenuBar(mBar);/ 在窗體上添加菜單條p.setLayout( new FlowLayout();p2.setLayout( new GridLayout(5, 1, 10, 10);/ 網(wǎng)格布局參數(shù)依次為 ( 行數(shù),列數(shù),寬度,高度 )p2.add(p3);p2.add(p4);p2.add(p5);p2.add(p6);p2.add(p7)
23、;p3.setLayout( p3.add(bt4); p3.add(bt5); p3.add(bt6);p4.setLayout(new GridLayout(1, 3, 10, 10);new GridLayout(1, 5, 10, 10);p4.add(bt7);p4.add(bt8);p4.add(bt9);p4.add(bt0); p4.add(bt11);p5.setLayout( p5.add(bt12); p5.add(bt13); p5.add(bt14); p5.add(bt15); p5.add(bt16);new GridLayout(1, 5, 10, 10);p6
24、.setLayout(p6.add(bt17);p6.add(bt18);p6.add(bt19);p6.add(bt10);p6.add(bt21);new GridLayout(1, 5, 10, 10);p7.setLayout(p7.add(bt22);p7.add(bt23);p7.add(bt24);p7.add(bt25);new GridLayout(1, 5, 10, 10);Java 課程設(shè)計(jì)信 101楊賽 2010314116"4" ) 1-7p7.add(bt26);p.add( txt );p1.setLayout( p1.add(bt00); p
25、1.add(bt); p1.add(bt1); p1.add(bt2); p1.add(bt3);new GridLayout(5, 1, 10, 10);loginDialog();/ 啟動(dòng)登入界面public void actionPerformed(ActionEvent arg0) if(arg0.getActionCommand().equals(" 歷史紀(jì)錄 (H)" )showRecord();if(arg0.getActionCommand().equals(" 用戶信息 (U)" )showUseInform();if(arg0.get
26、ActionCommand().equals(if ( txt .getText().equals(txt .setText( "1" );elsetxt .setText( txt .getText() +"1" ) "0" )"1" );if(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText( "2" );elsetxt .setText( txt .getText(
27、) +"2" ) "2" );if(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText( "3" );elsetxt .setText( txt .getText() +"3" ) "3" );if(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" )Java 課程設(shè)計(jì)信 101
28、 楊賽 20103141161-16ifififififififtxt .setText( elsetxt .setText("4" );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText(elsetxt .setText("5" );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().equals( "0
29、" ) txt .setText(elsetxt .setText("6" );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText(elsetxt .setText("7" );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText(el
30、setxt .setText("8" );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText(elsetxt .setText("9" );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().equals( "0" ) txt .setText(elsetxt .setText("0&q
31、uot; );txt .getText() +(arg0.getActionCommand().equals(if ( txt .getText().indexOf(txt .setText( txt .getText(); else"4" );"5" ) "5" );"6" ) "6" );"7" ) "7" );"8" ) "8" );"9" ) "9" );"0
32、" ) "0" );) "." ) != -1)II IItxt .setText( txt .getText() +"." );if (arg0.getActionCommand().equals("Sin") /先輸入數(shù)字后按三角函數(shù)鍵yi = Double. valueOf (txt .getText(); temp =yi ;double jie = Math.txt .setText(String.sin ( yi /180*Math. PI valueOf (jie););s="si
33、n(" +String. valueOfsave( s); s =null ;if (arg0.getActionCommand().equals( "Cos" ) yi = Double. valueOf ( txt .getText(); temp =yi ; double jie = Math. txt .setText(String.(temp )+ ")=" +String.valueOf(jie);cos ( yi /180*Math. PI ); valueOf (jie);(temp )+ ")=" +Str
34、ing. valueOfs="cos(" +String. valueOfsave( s); s =null ;if (arg0.getActionCommand().equals( "Tan" ) yi = Double. valueOf ( txt .getText(); temp =yi ; double jie = Math. txt .setText(String.tan ( yi /180*Math. PI ); valueOf (jie);(jie);s="tan(" +String. valueOf save( s);
35、 s =null ;(temp )+ ")=" +String. valueOf(jie);數(shù)對(duì)數(shù)if(arg0.getActionCommand().equals("Log" ) /求10 為底yi = Double. valueOf ( txt .getText(); temp =yi ;double jie = Math.txt .setText(String.log ( yi )/Math. log (10.0); valueOf (jie);s="log(" +String. valueOf save( s);(temp )
36、+ ")=" +String. valueOf(jie);s =null的對(duì)數(shù)if(arg0.getActionCommand().equals("Len")/求e為底數(shù)log ( yi ); valueOf (jie);yi = Double. valueOf ( txt .getText(); temp =yi ;double jie = Math.txt .setText(String.s="cos(" +String. valueOf save( s); s =null ;(temp )+ ")=" +St
37、ring.valueOf(jie);if(arg0.getActionCommand().equals("+/-") /正負(fù)轉(zhuǎn)換if(!( txt .getText().equals("0" ).getText();yi = Double. valueOf (txt yi =- yi ;valueOf ( yi );txt .setText(String.if(arg0.getActionCommand().equals("Back" ) /退格int i = txt .getText().length();txt .setText(
38、 txt .getText().substring(0, i - 1);制數(shù)if(arg0.getActionCommand().equals(" 二進(jìn)制 " ) / 去二進(jìn)yi = Double. long a=( longvalueOf ( txt .getText(); )( yi );txt .setText(String.valueOf (Long. toBinaryString (a);s=" 二進(jìn)制轉(zhuǎn)化(" +String. ng(a);valueOf (yi )+ ")=" +String. valueOf (Long
39、. toBinaryStrisave( s); s =null ;if(arg0.getActionCommand().equals("C") /清空txt yi fhif(arg0.getActionCommand().equals("/") /除法.setText( "" );= 0;=5;yi = Double.valueOf ( txt .getText();fh = 3;txt .setText( "" );if(arg0.getActionCommand().equals() /乘法yi = Doubl
40、e. valueOf ( txt .getText(); fh = 2;txt .setText( "" );if(arg0.getActionCommand().equals("+") /加法yi = Double. valueOf ( txt .getText(); fh = 0;txt .setText( "" );if(arg0.getActionCommand().equals(II II) /減法yi = Double.valueOf ( txt .getText();fh = 1;txt .setText( "
41、" );if(arg0.getActionCommand().equals("Mod" ) / 取余yi fh txt= Double.= 4;.setText(valueOf ( txt .getText();"" );if (arg0.getActionCommand().equals("Sqrt") / 平方根yi = Double. valueOf ( txt .getText(); temp =yi ;double jie = Math.txt .setText(String.sqrt (yi ); valueOf
42、 (jie);s="Sqrt(" +String. valueOf save( s); s =null ;( temp )+ ")=" +String.valueOf (jie);if(arg0.getActionCommand().equals("1/x") / 求倒數(shù)ifs =String. eOf (jiegdouble dou = Double.valueOftxt .setText(String. valueOf(arg0.getActionCommand().equals(double switch case 0:jieg
43、er = Double. valueOf ( fh ) = ( yi + er);valueOf);save( s =null break ;case 1:jieg = ( yi(txt .getText();(1.0 / dou);"=" ) / 等號(hào)(txt.getText();( yi )+ "+" +String. valueOf(er)+ "=" +String. valus);- er);s =String. valueOf ( yi alueOf ( jieg );save( s);s =null ; break ;ca
44、se 2:jieg = ( yi)+ "-"* er);s=String. valueOf ( yi)+ "*"+String.+String.valueOf (er)+ "=" +String. vvalueOf (er)+ "=" +String. vJava 課程設(shè)計(jì)信 101 楊賽 2010314116alueOf ( jieg );save( s);s =null ;break ;case 3:valueOf (er)+ "=" +String. vjieg = ( yi / er);
45、s=String. valueOf ( yi )+ "/" +String. alueOf ( jieg );save( s);s =null ;break ;case 4:jieg =( yi % er);s=String.valueOf ( yi )+ "%" +String. valueOf (er)+alueOf ( jieg);save( s);s =null ;Ibreak ; fh=5;txt .setText(String.valueOf (jieg );/*登陸注冊(cè)界面*/voidloginDialog() login= new JDi
46、alog();login.setTitle("登錄" );login.setLayout( new FlowLayout();ImageIconimage= new ImageIcon( "logo.jpg" )片的絕對(duì)路徑login.add( new JLabel(image); / 添加圖片標(biāo)簽login.add( new JLabel(" 用戶名 :" );finalJTextField name =new JTextField(15);login.add(name);login.add( new JLabel(" 密
47、碼 :" );/ 設(shè)置顯示圖"=" +String. v2-2final JPasswordFieldpassword.setEchoChar(login .add(password);password '*' );= new JPasswordField(15);JButton confirm =new JButton(" 登錄" );new ActionListener() void actionPerformed(ActionEvent e) if (compareUserData(name.getText().trim(
48、), String(password.getPassword() login .setVisible( f .setVisible(else confirm.addActionListener(publicfalse ); true );newJOptionPane.showMessageDialog ( login ," 用戶名或密碼錯(cuò)誤! " ," 錯(cuò)誤提示 ", JOptionPane.ERROR_MESSAG)E;);login.add(confirm);/ 添加登入按鈕finalJDialog regDialog =new JDialog( l
49、ogin ," 注冊(cè)",true );registerDialog(regDialog);JButton register =new JButton( " 注冊(cè)");register.addActionListener(new ActionListener() false );true );public void actionPerformed(ActionEvent e) login .setVisible( regDialog.setVisible();loginloginloginloginlogin .add(register);.setSize
50、(350, 150); .setResizable( false .setLocationRelativeTo(.setVisible(true ););null );/*用戶名密碼的確認(rèn)Java 課程設(shè)計(jì)信 101 楊賽 2010314116(8);2-4*/private boolean compareUserData(String name, String password) try RandomAccessFile out =RandomAccessFile( "user.dat"String fname, fpassword =new, "rw"
51、; );nullwhile (out.getFilePointer() < out.length() fname = out.readUTF(); out.readUTF(); fpassword = out.readUTF(); if(fname.equals(name)&&fpassword.equals(password)return true ;out.close();catch (IOException e) e.printStackTrace();return false/*注冊(cè)用戶的信息*/private void registerDialog(finalJ
52、Dialog regDialog) Box box1 = Box. createVerticalBox();box1.add( new JLabel( "用戶名:" , JLabel.RIGHT);box1.add(Box. createVerticalStrut(10);box1.add( new JLabel( "性別:" , JLabel. RIGHT);box1.add(Box. createVerticalStrut(10);box1.add( new JLabel( "密碼:" , JLabel. RIGHT), -1);box1.add(Box. createVerticalStrut(10);box1.add( new JLabel( "確認(rèn)密碼 :", JLabel. RIGHT);Box box2 = Box.createVerticalBoxfinal JTextFie
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)資公司前臺(tái)管理制度
- 小微金融公司管理制度
- 醫(yī)院新型門診管理制度
- 券商外包日常管理制度
- 學(xué)校項(xiàng)目落地管理制度
- 黨員練功基地管理制度
- 國(guó)企合同審核管理制度
- 寢室衛(wèi)生消毒管理制度
- 華為銷售流程管理制度
- 小組婦女組長(zhǎng)管理制度
- 行政輔助考試試題及答案
- 人工智能賦能中學(xué)英語(yǔ)教學(xué)的創(chuàng)新路徑探究
- x監(jiān)理管理辦法
- 2025湘美版(2024)小學(xué)美術(shù)一年級(jí)下冊(cè)教學(xué)設(shè)計(jì)(附目錄)
- 人教版(2024)小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)《歡樂(lè)購(gòu)物街》教學(xué)設(shè)計(jì)及反思
- 統(tǒng)編版(2024)語(yǔ)文一年級(jí)下冊(cè)第七單元綜合素質(zhì)測(cè)評(píng)A卷(含答案)
- 2025年生豬屠宰獸醫(yī)衛(wèi)生檢疫人員考試題(附答案)
- 電子商務(wù)教師資格證提升策略試題及答案
- 杭州市蕭山區(qū)部分校教科版六年級(jí)下冊(cè)期末考試科學(xué)試卷(解析版)
- 土地測(cè)量服務(wù)投標(biāo)方案(技術(shù)方案)
- 2025年醫(yī)院會(huì)計(jì)筆試試題及答案
評(píng)論
0/150
提交評(píng)論