《java课程设计课程设计报告11.docx》由会员分享,可在线阅读,更多相关《java课程设计课程设计报告11.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、莆田学院新工科产业学院课程设计课程名称:Java程序设计题 目:计算器202 年 月1 .概述运算器的界面制作:这个简单计算器设计是通过两个面板的叠加做出的界 面。计算器的功能实现:在界面上添加按钮,并通过按钮来进行简易计算器的 加、减、乘、除等基本运算.设计任务及要求利用Java开发一个可以进行简单的四则运算的图形化计算器,主程序所 在的类名必须为CalculatorXXX(XXX为学号末3位)。1、参考界面设计图如下,允许根据功能自行设计界面。画简易计算器一 口 X5.6Clear789/456*123-0.=2、要求计算器至少能够实现基本的加减乘除运算和清空功能。3、Clear按钮用于实
2、现全部输入的清空操作,直接将显示置零。4、请自行添加扩展功能。5、提交项目工程文件及打包发布的.jar或.exe6、提交课程设计报告。3 .设计方案首先设计输入输出框,按钮并初始化窗体,设置窗体位置,设置显示内容 窗格,然后设计计算,当按钮点击命令按下等于则执行计算,按下运算符则格 式为:空格+运算符+空格;按下数字,则直接拼接,最后计算字符串时,根据空 格进行分割成字符串数组,判断是那种类型的运算符并进行计算,再通过一个 result来存放最终结果。public class Expleme_l private String输入输出框内容private DTextField text_inpu
3、t;输出框private DPanel jp_bottomArea; 按钮区域private String addsButtonString=“:T/2”j3J+4,“5”j6“J- 求根取反 JAC”;public Expleme_l()初始化窗体J Frame frame=new J Frame(计算器);Container c=frame.getContentPane();c.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout. Y_AXIS); 设置排布方式为Y轴排列frame, set Location (200,300)
4、;设置位置fname.setVisible(true);frame. setDefaultCloseOperation( 3 Frame. EXIT_ON_CLOSE);text_input=new 3TextField(30);text_input.setHorizontalAlignment(JTextField.RIGHT);DPanel jPanel=new JPanel(new GridLayout(1,1,10,10);jPanel.add(text_input);c.add(jPanel);GridBagLayout gridBagLayout=new GridBagLayout
5、(); GridBagConstraints cs=new GridBagConstraints(); jp_bottomArea=new JPanel();jpbottomArea.setLayout(gridBagLayout);for(int i=0;ioddsButtonString.length;i+)if(i+l)%4=0)cs.gridwidth=GridBagConstraints.REMAINDER;else if(addsButtonStringi.equals(=)cs.gridwidth=2;else cs.fill=GridBagConstraints.BOrw;cs
6、.weightx=1.0;cs.gridwidth=l;JButton btn = new 3Button(addsButtonStringi); gridBagLayout.setconstraints(btn,cs);btn.addActionListener(e - String command = e.getActionCommand(); setShowTextFiledNew(command);); jp_bottomArea.add(btn); c.add(jp_bottomArea);frame.pack(); /* *设置显示内容窗格 * param command按钮点击命
7、令 *如果按下等于,则执行计算如果按下运算符,则格式为空格+运算符+空格* 如果按下时数字,则直接拼接*/public void setShowTextFiledNew(String command) if(command.equals(=) str=getResult(str);else if(command.equals(+)|command.equals(-)|command.equals(*)|command.equals(/)|command.equals(求根 )| |command.equals(取反) str=str+ +command+else if(command.equa
8、ls(AC) str=;else str=str+command; text_input.setText(str); 计算* param str需要计算的字符串根据空格进行分割成字符串数组* 然后判断是哪种类型的运算符并进行计算通过一个result来存放最终结果* */public String getResult(String str)Double result=0.0;String need_to_do=str.split();for(int i=0;ineed_to_do.length;i+) switch (need_to_doi)case + result=result+(Doubl
9、e.parseDoubte(need_to_doi-1)+Double.parseDoubt e(need_to_doi+1);break; caseresult=result+(Double.parseDoubte(need_to_doi-l)- Double.parseDoubLe(need_to_doi+1);break; caseresult=result+(Double.parseDouble(need_to_doi-1)*Double.parseDoubLe(need_to_doi+1);break;case /:result=result+(Double.parseDoubte(
10、need_to_doi-1)/Double.parseDoubLe(need_to_doi+1);break;case 求根”:result=result+(Math.sqrt(Double.parseDouble(need_to_doi-l);break;case ”取反”:result=result+(-Double.parseDoubte(need_to_doi- 1);break;return result+ )public static void main(String args) new Expleme_l();4 .结论分析1 ExplemeJ.java /Calcutatof4
11、20.java 泛(I ! iiiport javax.swing.;3 public class Calculator420 (private private private privateString str=*;DTextField text_input;DPanel jp_bottomArea;/!tHLString Ud5ButtonSn8“r2,3910public Calculator420()AC;DFrame frane=new 3Frame(itBaM);Container c=fratie.getContentPane();c. set Lay out (new BoxL
12、ayout (f rane. getContentPane(), Box Lay out. Y-AXIS); / / v ff nt *: Mt, 丫健用上14151617181920212223242526framt fr、g frame$ttLocition(200,300);/ SHEsetDefaultCloseOperation(3Frame.MJLOW_aO$);text_input=new 3TextField(30);text_input.setHorizontalAlignBent(3TextField.WGWr);DPanel jPaneHnew 3Panel(new Gr
13、idLayout(1,1,19,10);jPantl.add(ttxt_input);c.add(jPanel);GridBagLayout gridBagLayout=new GridBagLayout();GridBagConstraints cs=new GridBagConstraints(); jp_bottomAreasnew 3Panel();jp_bottomArea.setLayout(gridBagLayout);x X K !? -/” -Cakulator420 (1) (Java 盛用IS序)CAProgram FilesVavajre1 AOSnbinavaw.exe (2021 年7月2日上午10:55:08)AC按钮用于实现全部输入的清空操作,直接将显示置零5.参考文献格式要求:宋体+Times Ab甲Roman,小四,行间距1. 5倍,内容参照标准参考 文献格式要求(可查看百度参考文献格式),如:1崇天,礼欣,黄天羽.python语言设计基础M,北京:高等教育出版社,20142明日科技.python项目案例开发集锦M.北京:吉林大学出版社,2011.