JAVA语言程序设计一

该博客主要围绕设计GUI界面的计算器程序展开。用户能通过鼠标依次输入数值,进行加、减、乘、除混合运算。输入方式包括单击数字按钮输入整数、运算符号按钮输入运算、=号按钮输入等号以及CE按钮清除输入。

设计题目一:设计GUI界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除混合运算。

本题目设计的方法是通过:

鼠标单击进行各种输入----通过单击各种数字按钮输入整数;通过单击运算符号按钮输入算术运算;通过单击计算器面板上包含=号,按钮输入等号,以及通过单击CE按钮清除输入。

程序输出----面板输出结果或者输出错误信息(系统出错误时)。

//王睿的MyCalculator
import java.awt.*;

import java.awt.event.*;

 

public class MyCalculator extends WindowAdapter implements ActionListener{

   private Frame f;

   private Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,

b13,b14,b15,b16,b17,b18,b19;

   private TextField f1;

  

   private double ans = 0;//临时存放结果,结果最后给final

   private double n1=0;//定义为存放要输入的数字,初值为没有输入数字

   private int op=0;//初值为没选择任何运算

   private boolean hasop=false;//初值为没有按下运算符号

   private boolean dot=false;//定义为运算中小数运算,初值为无小数

 

   public static void main(String args[]){

        MyCalculator be=new MyCalculator();

        be.go();

   }

   public void go(){

      f=new Frame("王睿的计算器");

     

f.setLayout(new GridLayout(4,4));

f1=new TextField("",10);

      b1=new Button("1");

      b2=new Button("2");

      b3=new Button("3");

      b4=new Button("CE");

      b5=new Button("4");

      b6=new Button("5");

      b7=new Button("6");

      b8=new Button("+");

      b9=new Button("7");

      b10=new Button("8");

b11=new Button("9");

b12=new Button("-");

      b13=new Button("*");

      b14=new Button("0");

      b15=new Button(".");

      b16=new Button("/");

      b17=new Button("=");

      b18=new Button("(");

      b19=new Button(")");

 

      f.add(f1);

      f.add(b1);

      f.add(b2);

      f.add(b3);

      f.add(b4);

      f.add(b5);

      f.add(b6);

      f.add(b7);

      f.add(b8);

      f.add(b9);

      f.add(b10);

      f.add(b11);

      f.add(b12);

      f.add(b13);

      f.add(b14);

      f.add(b15);

      f.add(b16);

      f.add(b17);

      f.add(b18);

      f.add(b19);

 

      f.pack();

      f.setVisible(true);

 

      f.add(f1,"Center");

 

      f.addWindowListener(this);

      f.setSize(300,150);

      f.setVisible(true);

   }

   //实现ActionListener接口中的actionPerformed()方法

   public void actionPerformed(ActionEvent e){

                String d = e.getActionCommand();

        char c = d.charAt(0);

       

        switch(c)

        {

        case '+'://首次按下运算符号且在其之前

        case '-'://没有数字按下且没有连按两次

        case '*':

        case '/'://则先把刚刚的结果计算出来

            if (op!='0' && !hasOp) //按下等号

                Result();

                n1 = Double.valueOf(final.getText()).doubleValue();

                    op = c;

                    hasOp = true;

                dot = false;

            break;

        case '=': //按下等号

            Result();

            break;

        case '.': //按下小数点

            if ( !dot )

            {

            final.setText(final.getText()+".");

            dot = true;

            }

            break;

        case 'CE': //按下清除

            n1 = 0;

            op = '0';

            hasOp = false;

            dot = false;

            final.setText("0");

            break;

            default: //按下数字正常执行

                       if (final.getText().equals("0") || hasOp)

                   {

                final.setText(d);

                hasop = false;

                    }

                    else

                final.setText(final.getText()+d);

        }

    }

 

       //计算结果

       private void Result()

    {

        double n2 = Double.valueOf(final.getText()).doubleValue();

   

        switch (op)

        {

             case '+':

            ans = n1 + n2;

            break;

             case '-':

            ans = n1 - n2;

            break;

             case '*':

            ans = n1 * 2;

            break;

             case '/':

            ans = n1 / n2;

            }

   

        op = '0';

        hasOp = true;

        dot = false;

        n1 = ans;

        final.setText(String.valueOf(ans));

    }

      

       //覆盖WindowAdapter类中的 windowClosing()方法

       public void windowClosing(WindowEvent e){

                System.exit(0);

        }

}

图书详细描述: 本书将Java语言作为大学生的计算程序设计入门语言,其特色是内容全面、深入浅出、辅助教材立体配套。不但详细介绍了Java语言本身,而且讨论了面向对象的设计思想和编程方法、UML建模语言、图形用户界面的编程方法、网络和数据库程序的编程方法、线程的使用、Java集合框架等实用开发技术。全书以面向对象的程序设计方法贯穿始终,基础性和实用性并重。本书不仅能使读者掌握Java语言,而且能够让读者对现实世界中较简单的问题及其解决方法用计算语言进行描述。    本书既可供大专院校用作“Java语言程序设计”课程教材,也可供Java 爱好者作为入门的自学教材。 目录第1章 Java语言基础知识 1.1 Java语言与面向对象的程序设计  1.1.1 面向对象的程序设计思想  1.1.2 Java语言的特点  1.1.3 Java类库 1.2 Java程序概述  1.2.1 Java开发环境  1.2.2 Application举例  1.2.3 Applet举例  1.2.4 Servlet举例  1.2.5 JSP和JavaBean举例 1.3 基本数据类型与表达式  1.3.1 变量与常量  1.3.2 基本数据类型  1.3.3 表达式与运算符  1.3.4 类型转换 1.4 数组的概念 1.5 数组的创建和引用  1.5.1 数组的声明  1.5.2 数组的创建  1.5.3 数组元素的初始化  1.5.4 数组的引用  1.5.5 多维数组 1.6 本章小结 习题第2章 类与对象的基本概念 2.1 面向对象的程序设计方法概述  2.1.1 抽象  2.1.2 封装  2.1.3 继承  2.1.4 多态 2.2 类与对象  2.2.1 类的声明  2.2.2 对象的声明与引用  2.2.3 数据成员  2.2.4 方法成员  2.2.5 类的组织——包的概念  2.2.6 类的访问控制  2.2.7 类成员的访问控制 2.3 对象初始化和回收  2.3.1 构造方法  2.3.2 内存回收技术 2.4 应用举例  2.4.1 声明BankAccount类  2.4.2 声明toString()方法  2.4.3 声明存取款方法  2.4.4 使用DecimalFormat类  2.4.5 声明类方法生成特殊的实例  2.4.6 声明类变量 2.5 UML简介  2.5.1 类图  2.5.2 对象图 2.6 本章小结 习题第3章 类的方法 3.1 方法的控制流程  3.1.1 if选择结构  3.1.2 switch选择结构  3.1.3 for循环结构  3.1.4 while语句  3.1.5 do while语句  3.1.6 break语句  3.1.7 continue语句 3.2 异常处理简介  3.2.1 异常处理的意义  3.2.2 错误的分类  3.2.3 异常的处理  3.2.4 生成异常对象  3.2.5 声明自己的异常类 3.3 方法的重载 3.4 本章小结 习题第4章 类的重用第5章 接口与多态第6章 输入输出流第7章 对象群体的组织第8章 多线程第9章 图形用户界面第10章 JDBC与数据库访问第11章 Servlet程序设计第12章 JSP程序设计参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值