版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p> 一、運(yùn)行環(huán)境··························
2、83;·················5</p><p> 二、問(wèn)題描述及要求·············
3、3;························5</p><p> 三、需求分析·······
4、183;····································
5、5</p><p> 四、設(shè)計(jì)思路·······························
6、3;············5</p><p> 4.1工作原理圖···················
7、····················6</p><p> 4.2功能規(guī)劃···········
8、83;·····························6</p><p> 五、程序的界面設(shè)計(jì)及代碼實(shí)現(xiàn)·
9、;···························7</p><p> 5.1聲明的類····
10、183;···································7</
11、p><p> 5.2引用的包································
12、83;·······7</p><p> 5.3界面設(shè)計(jì)························
13、················7</p><p> 5.4計(jì)算功能實(shí)現(xiàn)···············&
14、#183;····················15</p><p> 六、參考文獻(xiàn)··········
15、3;································21</p><p> 七
16、、總結(jié)····································&
17、#183;··········21</p><p> 八、源代碼·····················
18、;························22</p><p><b> 一、運(yùn)行環(huán)境</b></p><p> (1
19、).操作系統(tǒng):Solaris、Windows xp、Windows 7等</p><p> (2). 應(yīng)用軟件:jdk1.5、Eclipse</p><p><b> 二、問(wèn)題描述及要求</b></p><p> 制作一個(gè)計(jì)算器,要求仿Windows里的計(jì)算器,設(shè)計(jì)一個(gè)圖形界面,其中基本組件包括0~9、+、-、*、/、.、=、+/-、Ba
20、ck、CE、C、sqrt、%、1/x、。其基本功能完成加減乘除、開(kāi)方、求模、求倒,十進(jìn)制與八進(jìn)制、二進(jìn)制、十六進(jìn)制的轉(zhuǎn)換等,</p><p> 退格、清零等按鈕的實(shí)現(xiàn)。</p><p> 在我的計(jì)算器上實(shí)現(xiàn)了以上功能。在菜單欄有查看、編輯、幫助菜單,在“查看”菜單中有“標(biāo)準(zhǔn)型”菜單項(xiàng),實(shí)現(xiàn)加減乘除等基本功能,“科學(xué)型”菜單項(xiàng),實(shí)現(xiàn)進(jìn)制間的轉(zhuǎn)換。在“編輯”菜單中有“復(fù)制”、“粘貼”菜單項(xiàng)
21、?!皫椭辈藛沃杏小瓣P(guān)于計(jì)算器”、“幫助主題”菜單項(xiàng),并實(shí)現(xiàn)相關(guān)功能。</p><p><b> 三、需求分析</b></p><p> 日常生活中經(jīng)常需要用到計(jì)算器,比如科學(xué)計(jì)算、數(shù)值計(jì)算、會(huì)計(jì)業(yè)務(wù)等,但簡(jiǎn)單的計(jì)算器已不能滿足日常需要,因此有必要開(kāi)發(fā)一些進(jìn)制轉(zhuǎn)換、開(kāi)方等多種運(yùn)算的計(jì)算器。</p><p> 創(chuàng)建一個(gè)簡(jiǎn)單計(jì)算器,具有簡(jiǎn)單的
22、人機(jī)交互界面,便于數(shù)據(jù)計(jì)算。我的計(jì)算器具有的功能如下:</p><p> 1、實(shí)現(xiàn)基本的加、減、乘、除四則運(yùn)算及開(kāi)方、求倒、求模。</p><p> 2、Back退格、CE返回上層運(yùn)算符、C清零功能。</p><p> 3、十進(jìn)制與二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換。</p><p> 4、菜單中包含的一些功能,如幫助文檔。</
23、p><p><b> 四、設(shè)計(jì)思路</b></p><p><b> 4.1 工作原理圖</b></p><p><b> 4.2功能規(guī)劃</b></p><p> 本程序繼承父類Frame,運(yùn)用了布局管理器GridLayout和Borderlayout,將界面分為三塊,頂
24、上為單行文本框,中間為進(jìn)制單選鈕和退格、清空按鈕,下面是數(shù)字、符號(hào)按鈕。各種按鈕采用n行n列的網(wǎng)格布局,并注冊(cè)按鈕事件監(jiān)聽(tīng)器。</p><p> 事件監(jiān)聽(tīng)器中的事件處理方法void actionPerformed(ActionEvent event)完成主要的按鈕事件的處理。事件分為以下幾種情況:數(shù)字按鈕事件(0~9)、運(yùn)算符按鈕事件(+、-、×、/、%)、正負(fù)號(hào)按鈕事件(+/-)、小數(shù)點(diǎn)按鈕事件(.
25、)、等號(hào)按鈕事件(=)、求倒按鈕事件(1/x)、三角函數(shù)按鈕事件(cos,sin,tan)、開(kāi)方按鈕事件(sqrt)、對(duì)數(shù)按鈕事件(lgX,lnX)、進(jìn)制轉(zhuǎn)換按鈕事件。</p><p> 在此聲明的是每次輸入的數(shù)據(jù)都要進(jìn)行類型轉(zhuǎn)換。</p><p> 五、程序的界面設(shè)計(jì)及代碼實(shí)現(xiàn)</p><p><b> 5.1聲明的類</b></
26、p><p> * 類名: calculator *</p><p> * 作用: 主類。*</p><p> * 繼承的父類: JFrame類 *</p><p> * 實(shí)現(xiàn)的接口:ActionListener類 *</p><p> **************************************
27、********************</p><p> * 類名: WindowDestroyer *</p><p> * 作用: 退出窗口動(dòng)作。 *</p><p> * 繼承的父類: WindowAdapter類 *</p><p> * 實(shí)現(xiàn)的接口:無(wú) *</p><p> **********
28、************************************************</p><p> * 類名: objConversion *</p><p> * 作用: 各個(gè)進(jìn)制之間的轉(zhuǎn)換。*</p><p> * 繼承的父類: 無(wú) *</p><p> * 實(shí)現(xiàn)的接口:無(wú) *</p><p&g
29、t; **********************************************************</p><p><b> 5.2引用的包</b></p><p> import java.awt.*;</p><p> import javax.swing.*;</p><p> i
30、mport java.lang.Math;</p><p> import java.awt.event.*;</p><p><b> 5.3界面設(shè)計(jì)</b></p><p> 1、調(diào)試后的界面:標(biāo)準(zhǔn)型</p><p> JScrollPane scrollHelp;</p><p>
31、 private objConversion convert = new objConversion();</p><p> JMenuItem fileMenu,exitItemOfFile,s,t, about, me;</p><p> JRadioButton sixteen,ten,eight,two;//單選按扭</p><p><b>
32、 Jbutton </b></p><p> Back,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;</p><p> Jbutton a,b,cc,dd,ee,ff,jia,jian,cheng,chu,quyu,deng,fu,dian,kai,dao,cos,sin,tan,lgX,lnX;</p
33、><p> Container cp;//容器,便于集體操作</p><p> JTextField text;</p><p> String copycontent="";</p><p> boolean clickable=true,clear=true;</p><p> int a
34、ll=0;</p><p> double qian;</p><p> String fuhao,copy;</p><p> int jin=10,first=1;</p><p> public Calculator(){</p><p> super("計(jì)算器");</p&g
35、t;<p> setSize(400,400);</p><p> setLocation(400,400);</p><p> text=new JTextField(25);</p><p> text.setHorizontalAlignment(JTextField.LEFT);//從左到右</p><p>
36、JPanel cp1=new JPanel();</p><p> JPanel cp2=new JPanel();</p><p> JPanel cp3=new JPanel();</p><p> cp=getContentPane();</p><p> cp.add(cp1,"North");</p
37、><p> cp.add(cp2,"Center");</p><p> cp.add(cp3,"South");</p><p> cp1.setLayout(new GridLayout(1,1));</p><p> cp2.setLayout(new GridLayout(2,4));<
38、;/p><p> cp3.setLayout(new GridLayout(7,4));</p><p> sixteen=new JRadioButton("十六進(jìn)制");</p><p> sixteen.setVisible(false);</p><p> ten=new JRadioButton("
39、進(jìn)制",true);</p><p> ten.setVisible(false);</p><p> eight=new JRadioButton("八進(jìn)制");</p><p> eight.setVisible(false);</p><p> two=new JRadioButton("
40、二進(jìn)制");</p><p> two.setVisible(false);</p><p> a = new JButton("A");</p><p> a.setVisible(false);</p><p> b = new JButton("B");</p>&
41、lt;p> b.setVisible(false);</p><p> cc = new JButton("C");</p><p> cc.setVisible(false);</p><p> dd = new JButton("D");</p><p> dd.setVisible
42、(false);</p><p> ee = new JButton("E");</p><p> ee.setVisible(false);</p><p> ff = new JButton("F");</p><p> ff.setVisible(false);</p>&l
43、t;p> jia = new JButton("+");</p><p> jian = new JButton("-");</p><p> cheng = new JButton("×");</p><p> chu = new JButton("÷"
44、;);</p><p> quyu = new JButton("%");</p><p> deng = new JButton("=");</p><p> fu = new JButton("+/-");</p><p> dian = new JButton(&quo
45、t;.");</p><p> kai = new JButton("sqrt");</p><p> dao = new JButton("1/x");</p><p> num0=new JButton("0");</p><p> num1=new JButt
46、on("1");</p><p> num2=new JButton("2");</p><p> num3=new JButton("3");</p><p> num4=new JButton("4");</p><p> num5=new JButt
47、on("5");</p><p> num6=new JButton("6");</p><p> num7=new JButton("7");</p><p> num8=new JButton("8");</p><p> cos=new JButto
48、n("cos");</p><p> sin=new JButton("sin");</p><p> tan=new JButton("tan");</p><p> lgX=new JButton("lgX");</p><p> lnX=new JB
49、utton("lnX");</p><p> num9=new JButton("9");</p><p> sixteen.addActionListener(this);</p><p> ten.addActionListener(this);</p><p> eight.addActi
50、onListener(this);</p><p> two.addActionListener(this);</p><p> ButtonGroup btg=new ButtonGroup();//創(chuàng)建一個(gè)多斥作用域</p><p> btg.add(sixteen);</p><p> btg.add(ten);</p&g
51、t;<p> btg.add(eight);</p><p> btg.add(two);</p><p> cp1.add(text);</p><p> text.setEditable(false);</p><p> text.setBackground(Color.white);</p><
52、;p> Back=new JButton("Back");//Back</p><p> Back.setForeground(Color.red);</p><p> Back.addActionListener(this);</p><p> ce=new JButton("CE");//CE</p&g
53、t;<p> ce.setForeground(Color.red);</p><p> ce.addActionListener(this);</p><p> c=new JButton("C");//C</p><p> c.setForeground(Color.red);</p><p>
54、 c.addActionListener(this);</p><p> cp2.add(sixteen);</p><p> cp2.add(ten);</p><p> cp2.add(eight);</p><p> cp2.add(two);</p><p> cp2.add(Back);</p
55、><p> cp2.add(ce);</p><p> cp2.add(c);</p><p> cp3.add(num7);</p><p> num7.addActionListener(this);</p><p> cp3.add(num8);</p><p> num8.add
56、ActionListener(this);</p><p> cp3.add(num9);</p><p> num9.addActionListener(this);</p><p> cp3.add(chu);</p><p> chu.addActionListener(this);</p><p>
57、cp3.add(kai);</p><p> kai.addActionListener(this);</p><p> cp3.add(num4);</p><p> num4.addActionListener(this);</p><p> cp3.add(num5);</p><p> num5.ad
58、dActionListener(this);</p><p> cp3.add(num6);</p><p> num6.addActionListener(this);</p><p> cp3.add(cheng);</p><p> cheng.addActionListener(this);</p><p&
59、gt; cp3.add(quyu);</p><p> quyu.addActionListener(this);</p><p> cp3.add(num1);</p><p> num1.addActionListener(this);</p><p> cp3.add(num2);</p><p>
60、num2.addActionListener(this);</p><p> cp3.add(num3);</p><p> num3.addActionListener(this);</p><p> cp3.add(jian);</p><p> jian.addActionListener(this);</p>&
61、lt;p> cp3.add(dao);</p><p> dao.addActionListener(this);</p><p> cp3.add(num0);</p><p> num0.addActionListener(this);</p><p> cp3.add(fu);</p><p>
62、 fu.addActionListener(this);</p><p> cp3.add(dian);</p><p> dian.addActionListener(this);</p><p> cp3.add(jia);</p><p> jia.addActionListener(this);</p><
63、p> cp3.add(deng);</p><p> deng.addActionListener(this);</p><p> cp3.add(cos);</p><p> cos.addActionListener(this);</p><p> cp3.add(sin);</p><p> s
64、in.addActionListener(this);</p><p> cp3.add(tan);</p><p> tan.addActionListener(this);</p><p> cp3.add(lnX);</p><p> lnX.addActionListener(this);</p><p&g
65、t; cp3.add(lgX);</p><p> lgX.addActionListener(this);</p><p> cp3.add(a);</p><p> a.setForeground(Color.magenta);</p><p> a.setBackground(Color.pink);</p>&
66、lt;p> a.addActionListener(this);</p><p> cp3.add(b);</p><p> b.setForeground(Color.magenta);</p><p> b.setBackground(Color.pink);</p><p> b.addActionListener(th
67、is);</p><p> cp3.add(cc);</p><p> cc.setForeground(Color.magenta);</p><p> cc.setBackground(Color.pink);</p><p> cc.addActionListener(this);</p><p> c
68、p3.add(dd);</p><p> dd.setForeground(Color.magenta);</p><p> dd.setBackground(Color.pink);</p><p> dd.addActionListener(this);</p><p> cp3.add(ee);</p><p
69、> ee.setForeground(Color.magenta);</p><p> ee.setBackground(Color.pink);</p><p> ee.addActionListener(this);</p><p> cp3.add(ff);</p><p> ff.setForeground(Color
70、.magenta);</p><p> ff.setBackground(Color.pink);</p><p> ff.addActionListener(this);</p><p> JMenuBar mainMenu = new JMenuBar();</p><p> setJMenuBar(mainMenu);</
71、p><p> JMenu editMenu = new JMenu("編輯");</p><p> JMenu viewMenu = new JMenu("查看");</p><p> JMenu helpMenu = new JMenu("幫助");</p><p> main
72、Menu.add(viewMenu);</p><p> mainMenu.add(editMenu);</p><p> mainMenu.add(helpMenu);</p><p> fileMenu = new JMenu("復(fù)制C Ctrl+C");</p><p> exitItemOfFile = n
73、ew JMenuItem("粘貼V Ctrl+V");</p><p> fileMenu.addActionListener(this);</p><p> exitItemOfFile.addActionListener(this);</p><p> editMenu.add(fileMenu);</p><p&g
74、t; editMenu.add(exitItemOfFile);</p><p> t = new JMenuItem("●標(biāo)準(zhǔn)型");</p><p> s = new JMenuItem(" 科學(xué)型");</p><p> viewMenu.add(t);</p><p> viewM
75、enu.add(s);</p><p> t.addActionListener(this);</p><p> s.addActionListener(this);</p><p> about = new JMenuItem(" 關(guān)于計(jì)算器");</p><p> me = new JMenuItem(&quo
76、t; 幫助主題");</p><p> helpMenu.add(about); </p><p> helpMenu.add(me);</p><p> about.addActionListener(this);</p><p> me.addActionListener(this);</p><p&
77、gt; addWindowListener(new WindowDestroyer());</p><p><b> ?。?、科學(xué)型:</b></p><p> ?。?、這是“幫助”菜單里的“幫助主題”菜單項(xiàng):用了JtextArea將內(nèi)容顯示出來(lái)</p><p> me = new JMenuItem(" 幫助主題");&l
78、t;/p><p> JTextArea help = new JTextArea(10, 30); </p><p> scrollHelp = new JScrollPane(help); </p><p> help.setEditable(false); </p><p> help.append("執(zhí)行簡(jiǎn)單計(jì)算 &quo
79、t;+"\n"); </p><p> help.append("1. 鍵入計(jì)算的第一個(gè)數(shù)字。"+"\n"); </p><p> help.append("2. 單擊“+”執(zhí)行加、“-”執(zhí)行減、“*”執(zhí)行乘或“/”執(zhí)行除"+"\n"); </p><p> h
80、elp.append("3. 鍵入計(jì)算的下一個(gè)數(shù)字。"+"\n"); </p><p> help.append("4. 輸入所有剩余的運(yùn)算符和數(shù)字。"+"\n"); </p><p> help.append("5. 單擊“=“ ");</p><p> ?。?、
81、這是“幫助”菜單里的“關(guān)于計(jì)算器”菜單項(xiàng):用了JOptionPane.showMessageDialog(null, "計(jì)算機(jī)開(kāi)發(fā)者:魏曉力");</p><p><b> 5.4計(jì)算功能實(shí)現(xiàn)</b></p><p><b> ?。?、四則運(yùn)算</b></p><p> if (temp == jia
82、){//加法</p><p> qian = Double.parseDouble(text.getText());</p><p> fuhao = "+";</p><p> clear = false;</p><p><b> }</b></p><p> i
83、f (temp == jian){</p><p> qian = Double.parseDouble(text.getText());</p><p> fuhao = "-";</p><p> clear = false;</p><p><b> }</b></p>&
84、lt;p> if (temp == cheng){</p><p> qian = Double.parseDouble(text.getText());</p><p> fuhao = "×";</p><p> clear = false;</p><p><b> }</b
85、></p><p> if(temp==chu){</p><p> qian = Double.parseDouble(text.getText());</p><p> fuhao = "÷";</p><p> clear = false;</p><p><b&
86、gt; }</b></p><p> if (temp == quyu){</p><p> qian = Double.parseDouble(text.getText());</p><p> fuhao="%";</p><p> clear = false;</p><p&
87、gt;<b> }</b></p><p> if (temp == deng){</p><p> double ss = Double.parseDouble(text.getText());</p><p> text.setText("");</p><p> if (fuhao =
88、= "+")</p><p> text.setText(qian + ss + "");</p><p> if (fuhao == "-")</p><p> text.setText(qian - ss + "");</p><p> if (fuh
89、ao == "×")</p><p> text.setText(qian * ss + "");</p><p> if (fuhao == "÷")</p><p> text.setText(qian / ss + "");</p><
90、p> if(fuhao=="%")</p><p> text.setText(qian%ss + "");</p><p> clear = false;//要清空前一次的數(shù)據(jù)</p><p><b> }</b></p><p><b> 2、三角函數(shù)
91、運(yùn)算</b></p><p> if(temp==cos){ text.setText(Double.toString(Math.cos(Double.parseDouble(text.getText())*Math.PI/180)));</p><p><b> }</b></p><p> if(tem
92、p==sin){</p><p> text.setText(Double.toString(Math.sin(Double.parseDouble(text.getText())*Math.PI/180)));</p><p><b> }</b></p><p> if(temp==tan){ </p><p>
93、; text.setText(Double.toString(Math.tan(Double.parseDouble(text.getText())*Math.PI/180)));</p><p><b> }</b></p><p><b> 3、對(duì)數(shù)運(yùn)算</b></p><p> if(temp==lgX){
94、 text.setText(Double.toString(Math.log10(Double.parseDouble(text.getText()))));</p><p><b> }</b></p><p> if(temp==lnX){ text.setText(Double.toString(Math.log(Double.pa
95、rseDouble(text.getText()))));</p><p><b> }</b></p><p><b> 4、開(kāi)方、求倒運(yùn)算</b></p><p> if (temp == kai){</p><p> String s = text.getText();</p&g
96、t;<p> if (s.charAt(0) == '-')</p><p> text.setText("負(fù)數(shù)不能開(kāi)根號(hào)");</p><p> else </p><p> text.setText(Double.toString(java.lang.Math.sqrt</p>&
97、lt;p> (Double.parseDouble(text.getText()))));</p><p> clear = false;</p><p><b> }</b></p><p> if (temp == dao){</p><p> if (text.getText().charAt(0)
98、 == '0' && text.getText().length() == 1)</p><p> text.setText("除數(shù)不能為零");</p><p><b> else{</b></p><p> boolean isDec = true;</p><p
99、> int i, j, k;</p><p> String s = Double.toString(1 / Double.parseDouble(text.getText()));</p><p> for (i = 0; i < s.length(); i++)</p><p> if (s.charAt(i) == '.')
100、</p><p><b> break;</b></p><p> for (j = i + 1; j < s.length(); j++)</p><p> if (s.charAt(j) != '0'){</p><p> isDec = false; break;</p>
101、<p><b> }</b></p><p> if (isDec == true){</p><p> String stemp = "";</p><p> for (k = 0; k < i; k++)</p><p> stemp += s.charAt(k);&l
102、t;/p><p> text.setText(stemp);</p><p><b> }</b></p><p><b> else</b></p><p> text.setText(s);</p><p><b> }</b></p&g
103、t;<p> clear = false;</p><p><b> } </b></p><p><b> ?。怠⒄?fù)號(hào)運(yùn)算</b></p><p> if (temp == fu){</p><p> boolean isNumber = true;</p>
104、<p> String s = text.getText();</p><p> for (int i = 0; i < s.length(); i++) if(!(s.charAt(i)>='0'&&s.charAt(i)<='9'||s.charAt(i)=='.'||s.charAt(i)=
105、='-')){</p><p> isNumber = false; break;</p><p><b> }</b></p><p> if (isNumber == true){ </p><p> if (s.charAt(0) == '-'){</p>&
106、lt;p> text.setText("");</p><p> for (int i = 1; i < s.length(); i++){</p><p> char a = s.charAt(i);</p><p> text.setText(text.getText() + a);</p><p>
107、;<b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> text.setText('-' + s);</p><p><b> }</b></p>
108、<p><b> }</b></p><p><b> ?。丁⑼顺龃翱趧?dòng)作</b></p><p> class WindowDestroyer extends WindowAdapter{//</p><p> public void windowClosing(WindowEvent e){ </
109、p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b></p><p><b> 7、進(jìn)制轉(zhuǎn)換</b></p><p> class objConversion{</p>
110、<p> public String decDec(int decNum){</p><p> String strDecNum = Integer.toString(decNum);</p><p> for (int i = strDecNum.length(); i < 3; i++)</p><p> strDecNum = &q
111、uot;0" + strDecNum;</p><p> return invert (strDecNum, 5);</p><p><b> }</b></p><p> public String decHex (int decNum){//10 to 16</p><p> String strH
112、exNum = "";</p><p> int currentNum = 0;</p><p> while(decNum != 0){</p><p> if (decNum > 15){</p><p> currentNum=decNum%16;</p><p> decNu
113、m /= 16;</p><p><b> }</b></p><p><b> else{</b></p><p> currentNum = decNum;</p><p> decNum = 0;</p><p><b> }</b>&l
114、t;/p><p> switch (currentNum){</p><p> case 15: strHexNum += "F"; break;</p><p> case 14: strHexNum += "E"; break;</p><p> case 13: strHexNum += &q
115、uot;D"; break;</p><p> case 12: strHexNum += "C"; break;</p><p> case 11: strHexNum += "B"; break;</p><p> case 10: strHexNum += "A"; break;<
116、;/p><p> default: strHexNum +=Integer.toString(currentNum);break;</p><p><b> }</b></p><p><b> }</b></p><p> return invert(strHexNum,2);</p&g
117、t;<p><b> }</b></p><p> public String decOct (int decNum){//10 to 8</p><p> String strOctNum = "";</p><p> while (decNum != 0){</p><p>
118、 if (decNum > 7){</p><p> strOctNum += Integer.toString(decNum % 8);</p><p> decNum /= 8;</p><p><b> }else{</b></p><p> strOctNum += Integer.toStrin
119、g(decNum);</p><p> decNum = 0;</p><p><b> }</b></p><p><b> }</b></p><p> return invert (strOctNum, 3);</p><p><b> }</
120、b></p><p> public String decBin (int decNum) {//10 to 2</p><p> String strBinNum = "";</p><p> while (decNum != 0) {</p><p> if (decNum > 1){</p&
121、gt;<p> strBinNum += Integer.toString(decNum % 2);</p><p> decNum /= 2;</p><p><b> }else{</b></p><p> strBinNum += Integer.toString(decNum);</p><p&
122、gt; decNum = 0;</p><p><b> }</b></p><p><b> }</b></p><p> return invert (strBinNum, 8);</p><p><b> }</b></p><p>
123、private String invert(String strNum,int minLength){ </p><p> String answer = "";</p><p> int length = strNum.length();</p><p> if (length < minLength){</p>&l
124、t;p> for (int padding =(minLength -length);padding>0;padding--){</p><p> answer += "0";</p><p><b> }</b></p><p><b> }</b></p><
125、p> for(int i=length;i>0;i--)</p><p> answer+=strNum.charAt(i-1);</p><p> return answer;</p><p><b> }</b></p><p><b> }</b></p>
126、<p><b> 六、參考文獻(xiàn)</b></p><p> [01]施霞萍,張歡.Java課程設(shè)計(jì)(第二版)[M]機(jī)械工業(yè)出版社.2006年8月</p><p> [02] 耿祥義,張躍平. Java2實(shí)用教程(第三版).清華大學(xué)出版社。</p><p><b> 七、總結(jié)</b></p>&
127、lt;p> 設(shè)計(jì)給人以創(chuàng)作的沖動(dòng),但是也要為這次沖動(dòng)承擔(dān)一定的痛苦,卻事后會(huì)發(fā)現(xiàn),這一切都是值得的。本次的Java課程設(shè)計(jì)讓我對(duì)Java的理論知識(shí)又有了更深一步的了解,溫故而知新,開(kāi)始設(shè)計(jì)時(shí)完全沒(méi)頭緒,感覺(jué)很混亂,對(duì)書(shū)本知識(shí)不夠扎實(shí)的我深感“書(shū)到用時(shí)方恨少”,只好又一遍瀏覽全書(shū),讓我對(duì)其有了大概的復(fù)習(xí),對(duì)知識(shí)系統(tǒng)全面進(jìn)行了了解,讓我里出了我設(shè)計(jì)的框架,遇到困難時(shí)先是苦思冥想在向同學(xué)請(qǐng)教。</p><p>
128、 這次課程設(shè)計(jì)使我感到收獲不小,讓我對(duì)Java的設(shè)計(jì)過(guò)程有了更深的了解,促進(jìn)了對(duì)理論知識(shí)的消化與吸收,也鞏固和完善了本門課程的知識(shí)體系結(jié)構(gòu)。設(shè)計(jì)過(guò)程中遇到了不少麻煩:如進(jìn)制間的轉(zhuǎn)換,也遇到了平時(shí)學(xué)習(xí)中老師強(qiáng)調(diào)與教過(guò)的疑難點(diǎn),不懂的通過(guò)翻閱資料和與同學(xué)間的討論都一一解決了。</p><p> 通過(guò)實(shí)踐讓我發(fā)現(xiàn)了我的不足,并加深了自身學(xué)習(xí)能力,提高了綜合能力。因此在以后的學(xué)習(xí)中我會(huì)通過(guò)實(shí)踐來(lái)檢驗(yàn)自己的不足和加深、
129、鞏固自身。以此來(lái)完善自己的知識(shí)系統(tǒng)。</p><p> 這次課程設(shè)計(jì)的主要目的是學(xué)會(huì)Java程序開(kāi)發(fā)的環(huán)境搭建與配置,并在實(shí)際運(yùn)用中學(xué)習(xí)和掌握J(rèn)ava程序開(kāi)發(fā)的全過(guò)程,以及進(jìn)一步熟悉掌握J(rèn)ava程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)內(nèi)容,提高Java編程技術(shù)以及分析解決問(wèn)題的綜合能力。通過(guò)這次課程設(shè)計(jì),我基本掌握了以上要求。由于專業(yè)知識(shí)有限,以及動(dòng)手能力的欠缺,所以開(kāi)發(fā)的系統(tǒng)不是很完善,有一些功能未實(shí)現(xiàn),但是簡(jiǎn)易計(jì)算器的基本功能均
130、已實(shí)現(xiàn)。以前對(duì)Java語(yǔ)言的很多知識(shí)認(rèn)識(shí)都不深刻,做過(guò)這次課程設(shè)計(jì)之后,我對(duì)Java語(yǔ)言的開(kāi)發(fā)有了一個(gè)比較系統(tǒng)的了解;比如:用戶圖形界面設(shè)計(jì)等的運(yùn)用已經(jīng)比較熟練。</p><p><b> 八、源代碼</b></p><p> import java.awt.*;</p><p> import javax.swing.*;</p&
131、gt;<p> import java.lang.Math;</p><p> import java.awt.event.*;</p><p> public class Calculator extends JFrame implements ActionListener{</p><p> JScrollPane scrollHelp;&
132、lt;/p><p> private objConversion convert = new objConversion();//各個(gè)進(jìn)制之間的轉(zhuǎn)化</p><p> JMenuItem fileMenu,exitItemOfFile,s,t, about, me;</p><p> JRadioButton sixteen,ten,eight,two;//單選按
133、扭</p><p> JButton Back,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;</p><p> JButton a,b,cc,dd,ee,ff,jia,jian,cheng,chu,</p><p> quyu,deng,fu,dian,kai,dao,cos,sin,tan,l
134、gX,lnX;</p><p> Container cp;//容器,便于集體操作</p><p> JTextField text;</p><p> String copycontent="";</p><p> boolean clickable=true,clear=true;</p><
135、;p> int all=0;</p><p> double qian;</p><p> String fuhao,copy;</p><p> int jin=10,first=1;</p><p> public Calculator(){</p><p> super("計(jì)算器&qu
136、ot;);</p><p> setSize(400,400);</p><p> setLocation(400,400);</p><p> text=new JTextField(25);</p><p> text.setHorizontalAlignment(JTextField.LEFT);//從左到右</p>
137、<p> JPanel cp1=new JPanel();</p><p> JPanel cp2=new JPanel();</p><p> JPanel cp3=new JPanel();</p><p> cp=getContentPane();</p><p> cp.add(cp1,"North&
138、quot;);</p><p> cp.add(cp2,"Center");</p><p> cp.add(cp3,"South");</p><p> cp1.setLayout(new GridLayout(1,1));</p><p> cp2.setLayout(new GridLay
139、out(2,4));</p><p> cp3.setLayout(new GridLayout(7,4));</p><p> sixteen=new JRadioButton("十六進(jìn)制");</p><p> sixteen.setVisible(false);</p><p> ten=new JRadio
140、Button("進(jìn)制",true);</p><p> ten.setVisible(false);</p><p> eight=new JRadioButton("八進(jìn)制");</p><p> eight.setVisible(false);</p><p> two=new JRadio
141、Button("二進(jìn)制");</p><p> two.setVisible(false);</p><p> a = new JButton("A");</p><p> a.setVisible(false);</p><p> b = new JButton("B");
142、</p><p> b.setVisible(false);</p><p> cc = new JButton("C");</p><p> cc.setVisible(false);</p><p> dd = new JButton("D");</p><p>
143、dd.setVisible(false);</p><p> ee = new JButton("E");</p><p> ee.setVisible(false);</p><p> ff = new JButton("F");</p><p> ff.setVisible(false);&
144、lt;/p><p> jia = new JButton("+");</p><p> jian = new JButton("-");</p><p> cheng = new JButton("×");</p><p> chu = new JButton(&quo
145、t;÷");</p><p> quyu = new JButton("%");</p><p> deng = new JButton("=");</p><p> fu = new JButton("+/-");</p><p> dian = new
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì) (3)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì) (2)
- 簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)----簡(jiǎn)易計(jì)算器
- vb課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
- 微機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 簡(jiǎn)易計(jì)算器學(xué)生課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器的設(shè)計(jì)課程設(shè)計(jì)
- 高級(jí)語(yǔ)言課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 微機(jī)原理簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 簡(jiǎn)易計(jì)算器vb課程設(shè)計(jì)報(bào)告
- 數(shù)電課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 微機(jī)原理課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器設(shè)計(jì)
- 8086簡(jiǎn)易計(jì)算器的設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
- 簡(jiǎn)易計(jì)算器vb課程設(shè)計(jì)報(bào)告報(bào)告
- 單片機(jī)課程設(shè)計(jì)-簡(jiǎn)易計(jì)算器
評(píng)論
0/150
提交評(píng)論