软件工程实践校外实习报告内容摘要:

x=0,y=0。 private String str1=Type wrong。 private String str2=tip。 public Calculate(String title){//主题窗口设置 setTitle(title)。 setSize(300,200)。 setDefaultCloseOperation(EXIT_ON_CLOSE)。 contentPane = getContentPane()。 init()。 } public void init(){ ch=39。 M39。 briup_bl=false。 bruip_Str=new StringBuffer()。 briup_jp0 =new JPanel()。 //菜单栏按钮 (new FlowLayout(,2,2))。 briup_jb1 =new JButton(help!)。 briup_jb2 =new JButton(note!)。 (briup_jb1)。 (briup_jb2)。 briup_jp1 =new JPanel()。 briup_jp2 =new JPanel()。 briup_jt = new JTextArea(2,10)。 (0)。 (this)。 (false)。 ()。 //设置背景颜色 (new BorderLayout(4,1))。 (Center, briup_jt)。 17 (new GridLayout(5,4,0,0))。 ButtonListener btnListener = new ButtonListener()。 for (int i = 0。 i。 i++) { briup_jb[i] = new JButton(key[i])。 briup_jb[i].addActionListener(btnListener)。 //注册监听器 briup_jb[i].addKeyListener(this)。 //添加键盘监听器 (briup_jb[i])。 } // 运算符键用红色标示 briup_jb[3].setForeground()。 briup_jb[7].setForeground()。 briup_jb[11].setForeground()。 briup_jb[15].setForeground()。 briup_jb[16].setForeground()。 briup_jb[19].setForeground()。 briup_jb[14].setForeground()。 (new BorderLayout())。 (North,briup_jp0)。 (Center,briup_jp1)。 (South,briup_jp2)。 //把两个面板加入一个盒式布局管理器 setResizable(false)。 (true)。 //设置可见 } class ButtonListener implements ActionListener //构造监听器 { public void actionPerformed(ActionEvent e) { //获取事件源的标签 String s = ((JButton)()).getText().trim()。 //得到用户按下的按钮上的文本 char c = (0)。 //得到 s 中索引为 0 的字符 if(c == 39。 c39。 ) //选择按钮 c { (0)。 (0)。 //设置值为 0 ch = 39。 M39。 briup_bl = false。 //设置布尔值为假 18 x = 0。 y = 0。 return。 //返回 } if(c == 39。 .39。 ) //选择输入小数点 { if( ().trim().indexOf(.) != 1) return。 //判断小 数点是否存在 else { ((),.)。 (.)。 //把点加到数字后面 return。 } } if(c == 39。 +39。 ||c == 39。 39。 ||c == 39。 *39。 ||c == 39。 /39。 ||c == 39。 =39。 ) //按加减乘除或等号键 { Caculate(c)。 return。 } ((s).toString())。 //剩下的数字键 briup_bl=true。 } } public void keyTyped(KeyEvent ek) //实现键盘监听器 { char c = ()。 //获取键盘上按的值 if(c==39。 139。 ||c==39。 239。 ||c==39。 339。 ||c==39。 439。 ||c==39。 539。 ||c==39。 639。 ||c==39。 739。 ||c==39。 839。 ||c==39。 939。 ||c==39。 039。 ) //按数字键 { ((c).toString())。 //把文本框里的内容转变成 String 类 briup_bl=true。 return。 } if(c ==39。 .39。 ) //按小数点 19 { if(().trim().indexOf(.) != 1) return。 else { ((),.)。 (.)。 return。 } } if((int)c == ) //按删除键 { (0)。 //设置文本框里的内容为 0 (0)。 ch = 39。 M39。 briup_bl = false。 x = 0。 y = 0。 return。 } if(c == 39。 +39。 ||c == 39。 39。 ||c == 39。 *39。 ||c == 39。 /39。 ||c == 39。 =39。 ) //按加减乘除键 { Caculate(c)。 //调用 Caculate } if(c == 39。 =39。 ) //按等号键 { Equal()。 //调用 Equal } } public void keyPressed(KeyEvent ek) {} public void keyReleased(KeyEvent ek) {} public void Caculate(char c) //实现 Calculate 方法 { if(briup_bl==true amp。 amp。 ch != 39。 M39。 ) //判断是否要运算 { y = (().trim())。 //取值去掉左右两边的空格并转换成双精度浮点数 switch(ch) 20 { case 39。 +39。 : x = x+y。 break。 case 39。 *39。 : x = x*y。 break。 case 39。 39。 : x = xy。 break。 case 39。 /39。 :if(y != 0) x = x/y。 else { (null, str1, str2,)。 return。 //错误提示,除数不能为 0 } } (+x)。 briup_bl = false。 } else x = (().trim())。 //取值去掉左右两边的空格并转换成双精度浮点数 (0)。 //设置长度为 0 y = 0。 ch = c。 } public void Equal(){ //Equal 方法实现 y = (().trim())。 switch(ch) { case 39。 +39。 : x = x+y。 break。 case 39。 39。 : x = xy。 break。 case 39。 *39。 : x = x*y。 break。 case 39。 /39。 :if(y != 0) x = x/y。 else { (null, str1, str2,)。 return。 //错误提示 } } (+x)。 briup_bl=false。 } 21 public static void main(String args[]) { Calculate cal = new Calculate(broken girls ver by1901amp。 1903 )。 (true)。 } } 项目测试与调试: 1)测试方案 程序正常的响应按钮事件,输入的数值长度受变量 length的限定,进行混合四则运算的时候,结果如果不是很大,可以正常显示,但如果很大,就可能采用科 学记数方式,这样带来了进制转换时的麻烦,需要特殊的处理科学记数里的 E,当结果太大的时候,有可能超出可能表示最大值(结果溢出),这个时候就要对结果进行必要的异常处理,我在输出结果的方法内设置 if 语句,如果结果大于某一值就抛出一个输出值太大的类,再使用trycatch,捕捉输出结果的方法抛出的异常对象,然后进行重制归零的处理。 : 运行 : 结果分析:在进入 页面后 , 就可以实现运算,例如( 8+84+6) *4= 22 项目 2:简易版聊天室项目 需求分析: 本系统所要实现的主要功能是为广大用户提供一个借助网络进行人际交往的平台。 因为服务端采用多线程,所以性能有很大提升。 因为服务端和客户端之间采用 TCP 协议进行网络通信,建立的是可靠的、端到端的网 络连接,所以可靠性和安全性都很好。 主要用例分析 服务器端的主要功能如下: 1) 在特定端口上进行侦听,等待客户端连接 2) 用户可以配置服务端的侦听端口,默认端口为 8888. 3) 向已经连接到服务端的用户发送系统消息。 4) 统计在线人数 5) 当停止服务时,断开所有的用户连接。 客户端的主要功能如下: 1) 连接到已经开启的聊天服务的服务端。 2) 用户可以配置要连接服务器端的 IP地址和端口号。 3) 用户可以配置连接后显示的用户名。 4) 当服务器端开启的时候,用户可以随时登录和注销。 5) 用户可以向所有人或者某一个人发送消息。 设计: 1) 设计方法: 界面:用 GUI编写。 在设计简单聊天室时,需要编写 两个 个 Java 源文件: 、。 2) 代码构造如图: public Serv。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。