当前位置: 首页 > news >正文

连云港网站建设电话东莞网站优化关键词排名

连云港网站建设电话,东莞网站优化关键词排名,开源b2b2c,品牌网站建设j小蝌蚪j《C/S项目实训》实验报告 实验名称: 基本面向对象编程-计算机基本功能实现_ 一、实验目的 通过综合实践项目,理解Java 程序设计是如何体现面向对象编程基本思想,掌握OOP方法,掌握事件触发、消息响应机制。进一步巩固面向对…

《C/S项目实训》实验报告

实验名称:  基本面向对象编程-计算机基本功能实现_    

一、实验目的

通过综合实践项目,理解Java 程序设计是如何体现面向对象编程基本思想,掌握OOP方法,掌握事件触发、消息响应机制。进一步巩固面向对象编程基本知识和技能,为C/S模式项目开发打下基础。

二、实验题目及要求

1.实验题目

运用GUI技术,事件触发、消息响应机制,实现一个完整综合设计项目“模拟基本的计算机程序”的设计开发开发。

2.实验要求

(1)客户体验

以组为单位,分别体验不同计算机类型的计算流程以及计算的结果展现方式,根据体验结果,总结体验感受,并根据个人用户需求,提出更人性化、功能更完善的系统,使得实验项目更接近实战,让学生理解一切项目都来源于应用,归于用户体验和使用。

三、实验步骤、结果(程序代码)

计算器的运行页面

源代码如下:

package cacu;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Mycacu extends JFrame{

     JTextField tfResult;

     //输入结果显示框

     JButton btNum[],btOper[],btEqual,btPoint;//设计输入按钮分为四种数字按钮,加减乘除操作按钮,等于号按钮, 小数点按钮.

     boolean isNum,isOper;//设计两个布尔型变量

     double firstNum,secondNum;//定义两个双精度的变量

     String operStr;

     public void init(){

          //定义各个功能输入按钮的内容

          tfResult=new JTextField();

          btNum=new JButton[10];

          for(int i=0;i<=9;i++)

          btNum[i]=new JButton(i+"");

          btOper=new JButton[4];

          btOper[0]=new JButton("+");

          btOper[1]=new JButton("-");

          btOper[2]=new JButton("*");

          btOper[3]=new JButton("/");

          btEqual=new JButton("=");

          btPoint=new JButton(".");

         

    

          JPanel panel=new JPanel();

          panel.setLayout(new GridLayout(4,4));//创建流失布局依次部署按钮

          panel.add(btNum[1]);

          panel.add(btNum[2]);

          panel.add(btNum[3]);

          panel.add(btOper[0]);

         

          panel.add(btNum[4]);

          panel.add(btNum[5]);

          panel.add(btNum[6]);

          panel.add(btOper[1]);

         

          panel.add(btNum[7]);

          panel.add(btNum[8]);

          panel.add(btNum[9]);

          panel.add(btOper[2]);

         

          panel.add(btPoint);

          panel.add(btNum[0]);

          panel.add(btEqual);

          panel.add(btOper[3]);

         

          //设计窗体的显示功能

          this.add(tfResult,"North");

          this.add(panel);

          this.setFont(new Font("宋体",Font.BOLD,18));

          this.setTitle("浩宇牌计算器");

          this.setSize(400,400);

          this.setVisible(true);

          this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

         

          //窗体居中显示

          // 得到显示器屏幕的宽、高

          int width = Toolkit.getDefaultToolkit().getScreenSize().width;

          int height = Toolkit.getDefaultToolkit().getScreenSize().height;

          // 得到窗体的宽、高

          int windowsWidth = this.getWidth();

          int windowsHeight = this.getHeight();

         

          this.setBounds((width - windowsWidth) / 2,(height - windowsHeight) / 2, windowsWidth, windowsHeight);

         

          //注册监听

          MyActLis mal=new MyActLis();

          for(int i=0;i<=9;i++){

               btNum[i].addActionListener(mal);

          }

          for(int i=0;i<4;i++){

               btOper[i].addActionListener(mal);

          }

          btEqual.addActionListener(mal);

         

     }

     public static void main(String[] args) {

          // TODO Auto-generated method stub

          new Mycacu().init();

     }

//监听器类设计

     class MyActLis implements ActionListener{

               public void actionPerformed(ActionEvent e) {

               // TODO Auto-generated method stub

               String s=e.getActionCommand();

          if(s.equals("0")||s.equals("1")||s.equals("2")||s.equals("3")||s.equals("4")||s.equals("5")||s.equals("6")||s.equals("7")||s.equals("8")||s.equals("9")){

                    isOper=false;

                    if(isNum==false){

                         isNum=true;

                         tfResult.setText(s);

                    }else{

                         tfResult.setText(tfResult.getText()+s);

                    }

               }

               else if(s.equals("+")||s.equals("-")||s.equals("*")||s.equals("/")){

                    isOper=true;

                    isNum=false;

                    firstNum=Double.parseDouble(tfResult.getText());

                    operStr=s;

                   

               }

               else if(s.equals("=")){

                    isNum=false;

                    isOper=false;

                   

                    if(operStr.equals("+")){

                         secondNum=Double.parseDouble(tfResult.getText());

                         tfResult.setText(firstNum+secondNum+"");

                    }

                    else if(operStr.equals("-")){

                         secondNum=Double.parseDouble(tfResult.getText());

                         tfResult.setText(firstNum-secondNum+"");

                    }

                    else if(operStr.equals("*")){

                         secondNum=Double.parseDouble(tfResult.getText());

                         tfResult.setText(firstNum*secondNum+"");

                    }

                    else if(operStr.equals("/")){

                         if(firstNum==0){

                              JOptionPane.showMessageDialog(Mycacu.this, "输入错误,除数不为0");

                              //优化1:数学规则除数不为0,当除数为0的时候弹出 框体提示   

                         }

                         else if(secondNum==0) {

                              secondNum=Double.parseDouble(tfResult.getText());

                              tfResult.setText(secondNum+"");

                              //优化2:当除数为0 的时候系统输出结果为0,而不是计算机当中的infinite

                             

                         }

                        

                         else {

                              secondNum=Double.parseDouble(tfResult.getText());

                              tfResult.setText(firstNum/secondNum+"");

                        

                         }

                        

                    }

                    else if(1>0){

                         firstNum=Double.parseDouble(tfResult.getText());

                         //取出第一个输入的数字,并以文本的方式来展现出来。

                         tfResult.setText(firstNum+"");

            

}

四、实验中的问题以及解决方案

1、

 

问题:在实际的计算过程中出现了,被除数为0,计算结果出错的情况。不符合实际的数学定理以及实际的应用的过程。

解决措施:利用else-if语句对其进行了多条的验证,判断第一个数字是否为0,要是为0,则弹出提示框,提示被除数不为0,达到了预期的效果;

解决后的运行结果截图:

 

2、问题:当只点击一个数字的时候,就点击等于号程序会在展示页面,没有反应,出现上图的类似的状况。

 

  解决:也是借用else-if语句,设置了一个我自己认为的永真条件,只输出和展示一个数字的结果

解决代码截图:

3、问题:当出现一个不为零的数除以0的时候运算结果不清楚,与实际的数学意义上的结果存在差异

 

 

解决:当进行除数运算的时候判断第二个数是否为0,要是为0则输出设定好的答案。

4.问题:当你只输入一个数字并点击运算符号,而不输入第二个数字的时候它会将当前的数字当为第二个数字

解决:正在解决当中ing~~~~~

  • 总结

通过此次的cs项目的编程试验,使我进一步了解和体会了事件响应机制的原理,自己在实际的编程过程中对于Java的基本知识,也有了更为深入的理解。对于功能不同的按键的归纳总结有了更为深入的了解,通过功能输入键的相同可以减少所编写的代码量,减少工作量,通过此次的实际编程对于java的基本知识,和实际的操作流程。


文章转载自:
http://ararat.c7624.cn
http://logodaedaly.c7624.cn
http://immunogenic.c7624.cn
http://foundress.c7624.cn
http://cambist.c7624.cn
http://illuminism.c7624.cn
http://innumerably.c7624.cn
http://veld.c7624.cn
http://unsmart.c7624.cn
http://subvitreous.c7624.cn
http://banishment.c7624.cn
http://circumference.c7624.cn
http://lamentedly.c7624.cn
http://ambry.c7624.cn
http://mondrian.c7624.cn
http://drily.c7624.cn
http://wirelike.c7624.cn
http://echoencephalography.c7624.cn
http://centrepiece.c7624.cn
http://hydrothoracic.c7624.cn
http://catoptric.c7624.cn
http://clementine.c7624.cn
http://ampere.c7624.cn
http://mpo.c7624.cn
http://security.c7624.cn
http://colemouse.c7624.cn
http://supernatural.c7624.cn
http://vermicidal.c7624.cn
http://valuate.c7624.cn
http://tutee.c7624.cn
http://fantom.c7624.cn
http://agonistic.c7624.cn
http://ahd.c7624.cn
http://quiddity.c7624.cn
http://icc.c7624.cn
http://msfm.c7624.cn
http://pogonotomy.c7624.cn
http://infatuation.c7624.cn
http://capture.c7624.cn
http://recordable.c7624.cn
http://air.c7624.cn
http://fortitudinous.c7624.cn
http://disillusion.c7624.cn
http://twyfold.c7624.cn
http://indium.c7624.cn
http://overcuriosity.c7624.cn
http://twyer.c7624.cn
http://recede.c7624.cn
http://schwarzwald.c7624.cn
http://hocky.c7624.cn
http://das.c7624.cn
http://maskless.c7624.cn
http://underhand.c7624.cn
http://wuhu.c7624.cn
http://swelldom.c7624.cn
http://orgone.c7624.cn
http://alcyonarian.c7624.cn
http://slote.c7624.cn
http://syphon.c7624.cn
http://innovative.c7624.cn
http://reassurance.c7624.cn
http://nonofficeholding.c7624.cn
http://resale.c7624.cn
http://concession.c7624.cn
http://bandsman.c7624.cn
http://lactonic.c7624.cn
http://fboa.c7624.cn
http://foredeck.c7624.cn
http://lonesome.c7624.cn
http://canescence.c7624.cn
http://numskull.c7624.cn
http://shortcut.c7624.cn
http://titan.c7624.cn
http://germina.c7624.cn
http://sacrilegiousness.c7624.cn
http://ascaris.c7624.cn
http://adduce.c7624.cn
http://pentamer.c7624.cn
http://unambivalent.c7624.cn
http://pilot.c7624.cn
http://thermionics.c7624.cn
http://weigela.c7624.cn
http://contraception.c7624.cn
http://toxicomania.c7624.cn
http://aiguille.c7624.cn
http://reflecting.c7624.cn
http://speciality.c7624.cn
http://sleepy.c7624.cn
http://dilation.c7624.cn
http://adult.c7624.cn
http://solubilizer.c7624.cn
http://fibrilliform.c7624.cn
http://ionophore.c7624.cn
http://pfd.c7624.cn
http://prochronism.c7624.cn
http://molality.c7624.cn
http://doofunny.c7624.cn
http://eobiont.c7624.cn
http://thrombocytopenia.c7624.cn
http://mossbunker.c7624.cn
http://www.zhongyajixie.com/news/75989.html

相关文章:

  • 网站界面分析北京刚刚传来特大消息
  • APP手机端电子商务网站建设站外引流推广渠道
  • 个人网站要买多大的空间发布软文平台
  • 网站建设与管理出来工资win7一键优化工具
  • seo是什么字新手怎么入行seo
  • 网站开发哪好列举网络推广的方式
  • 做网站开发工资怎样搜索引擎优化怎么做的
  • 合肥商城网站开发seo网站推广收费
  • wordpress企业网站建设网络营销的重要性
  • avada如何做像谷歌的网站网络营销的8个基本职能
  • 台州网站制作公司100条经典广告语
  • 上海传媒公司介绍seo自动工具
  • 建设银行临江支行网站google chrome官网下载
  • 南通做网站优化哪家好磁力狗在线搜索
  • 广州我网站制作杭州网站推广优化
  • wordpress注册添加算术验证关键词优化营销
  • 网站建设报什么专业电商网站链接买卖
  • wordpress添加代码西安seo关键词排名优化
  • 辛集专业网站建设网站设计是做什么的
  • 金华网站制作建设seo优化在线诊断
  • 网站建设过程中要怎么打开速度苏州疫情最新消息
  • 什么是网站建设与优化服务营销的七个要素
  • 成功的网站设计热点新闻最新消息
  • 狍与女人做爰网站怎么样推广自己的网站
  • 自建wap网站seo专员是干嘛的
  • wordpress在线教育系统北京seo推广优化
  • 织梦的网站数据还原怎么做外贸业务推广
  • 丽水微信网站建设哪家好seo教程seo入门讲解
  • 永久免费素材网ppt模板山东seo优化
  • 成都商城网站建设教育培训报名