一实验目的加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。
在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。
在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。
通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。
二、实验要求(1)问题描述准确、规范;(2)程序结构合理,调试数据准确、有代表性;(3)界面布局整齐,人机交互方便;(4)输出结果正确;(5)正确撰写实验报告。
三、设计内容1、计算器计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。
允许正负数间的运算。
要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。
2、文本编辑器可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。
其他功能参照windows的文本编辑器。
四.实验步骤(1)上机实验之前,为课程设计的内容作好充分准备。
对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。
(2)按照实验目的和实验内容进行上机操作。
录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。
(3)根据实验结果,写出实验报告。
五. 源代码及运行结果1.计算器源代码import .*;import .*;import .*;public class jisuanqi extends WindowAdapter{, "=", "+","n!" ,"关闭" };static double a, sum=1;static String s, str ;rame();}public void frame(){etBackground;txt = new TextField("");(false);ddActionListener(new buttonlistener());ddActionListener(new close());(this);(new BorderLayout());.计算器运行界面(1)计算器主界面(2)面板的实现1.创建三个面板分别是显示数字的面板、按钮的面板和“关闭”的面板Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();2.创建一个文本框参数TextField txt;3.创建一群按钮参数并给按钮赋值private Button[] b = new Button[21];private String ss[] = { "7", "8", "9", "/","清空" ,"4", "5", "6", "*","1/x", "1", "2","3", "-","平方", "0", ".", "=", "+","n!" ,"关闭" };4.创建文本框public static void main(String args[]){(new jisuanqi()).frame();}5.设置文本框方法public void frame(){置按钮for (int i = 0; i <= 20; i++){b[i] = new Button(ss[i]);}7.设将按钮添加到面板for (int i = 0; i <= 19; i++)(b[i]); 置按钮20背景色黄色b[20].setBackground;9.创建文本框,并规定不能编辑内容和背景为白色txt = new TextField("");(false);;10.为按钮添加监听器for (int i = 0; i <= 20; i++){b[i].addActionListener(new buttonlistener());置“关闭”按钮可以关闭界面并设置监听器b[20].addActionListener(new close());(this);12.设置布局(new BorderLayout());三个面板分别放到不同位置(p1, "North");(p2, "Center");(p3, "South");();(true);出系统public void windowClosing(WindowEvent e){(0);}(3)将按钮添加到计算这个事件中1.编写监听器事件通过按键得出给果public void actionPerformed(ActionEvent e){果点击“=”这个按钮,将出现当前数字if () == "="){jisuan();str = (a);(str);果点击“+”“-”“*”“/”分别完成一个方法并将结果显示到文本框else if() == "+")果点击“平方”则当前数字与原数字形成即完成相关方法结果显示最终的数字else if()=="平方"){a=());a*=a;(""+(a)); 输入“n!”,就用for循环完成阶乘,此方法属于c语言基础方法,不做相关解释else if()=="n!"){a=());sum=1;输入“1/x”时,显示1/a。
else if()=="1/x"){a=());(""+(1/a));}7.如果输入“清空”文本框成为空文本框else{() + ());if () == "清空")("");}(4)设置“jisuan”方法1.编写具体计算方法其实这些方法可以放到上面事件的实现中,从“平方”,“n!”,“1/x”就可以看出。
但为了程序的美观和高识别性,我们传建一个方法来实现 if (s == "+")a += ());else if (s == "-")a -= ());else if (s == "*")a *= ());else if (s == "/")a /= ());elsea = ());3.文本编辑器源代码import .*;import .*;import .*;public class TextEditor{public static void main(String args[]){TextFrame frame=new TextFrame();;();}}class TextFrame extends JFrame{dd(scrollPane);.",'O');saveItem=new JMenuItem("保存(S)",'S');exitItem=new JMenuItem("退出(E)",'E');ddItemListener(new FormatListener());(sizes[i]);(sizes[i]);}for (int i=0;i<;i++){colors[i]=new JRadioButtonMenuItem(colorNames[i]); colors[i].addItemListener(new FormatListener()); (colors[i]);(colors[i]);}for (int i=0;i<;i++){fonts[i]=new JRadioButtonMenuItem(fontNames[i]); fonts[i].addItemListener(new FormatListener()); (fonts[i]);(fonts[i]);}for(int i=0;i<;i++){styles[i]=new JCheckBoxMenuItem(styleNames[i]);styles[i].addItemListener(new FormatListener());(styles[i]);}(sizeItem);(colorItem);(fontItem);(styleItem);sSelected())style+=;if(styles[1].isSelected())style+=;(new Font().getName(),style,().getSize()));etSize()));etName(),style,5*j));.文本编辑器运行界面(1)文件等原件放入菜单栏(2)引入对话框int m=;(3)出现一个对话框来判断是否退出程序流程图❶计算器JAVA 来编写我认为使用的程序,感觉很是不一样,虽然不能说精通,但可以自豪的说:我们知其然。
这也使得我萌生一个想法:如果java考试能在课程设计和java实验之后考,我想我的成绩会更好一些。
这三周的上机也我们有了更多的实地操作经验。
在这次实验中,我意识到无论多么复杂的程序都是要用许多简单的程序组合而成,不要小看一个面板的设置,面板也可以分为很多种,就比如TextPanel、ButtonPanel等等都有不同的用处,而且还要排版,这是我们就需要从课外学习一些新的知识来使面板的布局更加美观、更加人性化。
没有一个程序是在我们没有思考就能做出来的,当然没有一道题是在我们思考是讨论之后还做不出来的。
当然这也要结合我们的实际情况。