精华内容
下载资源
问答
  • java实验10事件处理
    千次阅读
    2021-02-27 19:36:14

    Java实验三实验报告异常处理

    Java上机实验报告(实验三:异常处理)

    专业: 08计算机           班级:  (班

    学号:  08251          姓名:

    实验目的:

    掌握定义、抛出和捕捉处理异常。

    实验内容:

    编写一个类实现银行帐户的概念,包括的属性有“帐号”、“储户姓名”、“地址”、“存款余额”、“最小余额”、“利率”、“存款日期”,包括的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”等。

    扩充上题,创建“取款数目超过余额”这个异常,并在取款方法中抛出并处理这个异常。

    实验源代码:

    1.Bank.java文件

    class MyException extends Exception{//自定义异常类

    String message;

    public MyException(){

    message="取款数目超过余额,请重新输入取款金额!";

    //System.out.println("请重新输入取款金额!");

    //Bank bank=new Bank();

    //bank.drawMoney(100000.0);

    }

    public String toString(){

    return message;

    }

    }

    public class Bank{

    int ID;

    String name;

    String address;

    double balance;

    double min_balance;

    double rate;

    double interest;

    public int getID() {//获取账户

    return ID;

    }

    public void setID(int iD) {//设置账户

    ID = iD;

    }

    public String getName() {//获取储户名

    return name;

    }

    public void setName(String name) {//设置储户名

    this.name = name;

    }

    public String getAddress() {//获取储户地址

    return address;

    }

    public void setAddress(String address) {//设置储户地址

    this.address = address;

    }

    public double getBalance() {//获取余额

    return balance;

    }

    public void setBalance(double balance) {//设置余额

    this.balance = balance;

    }

    public double getMin_balance() {//获取最小余额

    return min_balance;

    }

    public void setMin_balance(double minBalance) {//设置最小余额

    min_balance = minBalance;

    }

    public double getRate() {//获取利率

    return rate;

    }

    public void setRate(double rate) {//设置利率

    this.rate = rate;

    }

    public void savingMoney(double money){//存款

    this.balance=this.balance+money;

    }

    public void drawMoney(double money) throws MyException{//取款,发现异常时抛出异常并处理

    if(money>this.balance)

    {

    throw (new MyException());

    }

    else

    this.balance=this.balance-money;

    }

    public double Interest(double interest){//计算利息

    interest=getRate()*getBalance();

    th

    更多相关内容
  • 实验Java事件处理 实验目的 1 掌握 Java语言中的事件处理方法 2 掌握 Java语言中事件源监视器和处理事件的接口的概念 实验内容 1. 图形用户界面设计程序 (ArtFont.java) 在实验三第 1题的基础上 添加事件处理机制...
  • PAGE / NUMPAGES 实验报告封面 课程名称 Java程序设计 课程代码 SP3002 任课老师 谭翔纬 实验指导老师: 潘正军 实验报告名称 实验12 Java事件处理 学生姓名 学号 教学班 递交日期 签收人 我申明本报告内的实验已按...
  • 实验Java事件处理 实验目的 掌握Java语言中的事件处理方法 掌握Java语言中事件源监视器和处理事件的接口的概念 实验内容 图形用户界面设计程序(ArtFont.java) 在实验三第1题的基础上添加事件处理机制并逐步完善...
  • 1、 创建一个框架类实例对象app作为窗体 2、 往窗体里添加三个按钮(b1、b2、b3)、两个标签(l1,l2)、三个文本输入框(t1、t2、t3),要求标签即包含一个图标也包含文本,且文本覆盖在图标的上面。...
  • 实验五--Java事件处理.docx
  • 实验Java异常处理实验.docx
  • 实验Java 事件处理 实验目的 1掌握Java 语言中的事件处理方法 2 掌握Java 语言中事件源监视器和处理事件的接口的概念 实验内容 1. 图形用户界面设计程序(ArtFont.java) 在实验三第 1题的基础上添加事件处理机制并...
  • 实验Java事件处理 实验目的 掌握Java语言中的事件处理方法 掌握Java语言中事件源监视器和处理事件的接口的概念 实验导读 Java事件处理简介 学习组件除了了解组件的属性和功能外学习组件除了了解组件的属性和功能...
  • 数字图像处理-java编程与实验 数字图像处理-java编程与实验
  • java图形程序设计、事件处理与Swing实验报告
  • Java语言程序设计实验指导书 理论教材:《Java程序设计标准教程》 第1版 邱加永 人民邮电...9 图形用户界面 用图形界面工具,结合事件处理机制,实现一个可视化的计算器。 10 JDBC基础 使用JDBC方式执行数据库基本操作
  • 包含图像灰度化、几何变换、时频变换、图像增强与恢复、图像分割、图像特征分析、模式识别、图像压缩、图像加密等。 包含教材及源码。
  • Java 实验八 布局管理和事件处理

    千次阅读 2021-06-25 20:08:01
    1、下面的程序构造一个窗口界面,其中有一标题为Sample的按钮... //①载入进行事件处理所需的包 import javax.swing.*; public class ButtonDemo extends JFrame implements ActionListener { //空白处② Button b;.

    在这里插入图片描述
    1、下面的程序构造一个窗口界面,其中有一标题为Sample的按钮,当点击该按钮时,在控制台中输出 ”Button press
    received.”的提示信息。(有2个空白)

    import java.awt.*;
    import java.awt.event.* ; //①载入进行事件处理所需的包
    import javax.swing.*;
    public class ButtonDemo extends JFrame implements ActionListener
     { //空白处②
     Button b;
     public ButtonDemo(String title){
     super(title);
     setLayout(new FlowLayout());
     b = new Button("Sample");
     b.addActionListener(this);
     add(b);
     pack();
     }
     public void actionPerformed(ActionEvent e) {
     System.out.println("Button press received.");
     }
     public static void main(String[] args){
     ButtonDemo myButton=new ButtonDemo("Test");
     myButton.setVisible(true);
     }
    }
    

    2、下面的程序创建一窗口,并在窗口上添加一个按钮,然后为按钮增加鼠标单击事件,当单击按钮时,输出提示信
    息。完成代码空白,实现描述的功能。(有3个空白)

    import javax.swing.*; //载入JFrame所在的包
    import java.awt.*;
    import java.awt.event.*  ;  //空白处①
    public class SimpleEventDemo extends JFrame {
      public SimpleEventDemo() {
        JButton jbtOK = new JButton("OK");
        setLayout(new FlowLayout());
        add(jbtOK);
    OKListener ak=new OKListener(); // 空白处②,定义监听器
        jbtOK.addActionListener(ak); //  空白处③,按钮增加单击事件
      }
      /** Main method */
      public static void main(String[] args) {
        JFrame frame = new SimpleEventDemo();
        frame.setTitle("SimpleEventDemo");
        frame.setLocationRelativeTo(null); // Center the frame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(100, 80);
        frame.setVisible(true);
      }
    }
    class OKListener implements ActionListener {
      public void actionPerformed(ActionEvent e) {
        System.out.println("It is OK");
      }
    }
    
    展开全文
  • Java实验报告配套Java程序设计基础(第3版)实验指导书使用。主要包括: 实验一 基本数据类型 实验二 结构语句 实验三 数组与字符串 实验四 类与对象 实验五 Java语言类的特性 实验六 Java继承与抽象类 实验七 包...
  • java实验报告(实验七 异常处理

    千次阅读 2021-06-14 16:14:50
    掌握 Java 程序中异常的概念,能熟练应用异常处理机制,设计出健壮性和可读性好的程序。 二. 实验内容 (一) 异常的发生 1.运行时异常 //RTExp.java public class RTExp { public static void main(String[] args) ...

    一. 实验目的

    掌握 Java 程序中异常的概念,能熟练应用异常处理机制,设计出健壮性和可读性好的程序。

    二. 实验内容

    (一) 异常的发生

    1.运行时异常

    //RTExp.java
    public class RTExp {
        public static void main(String[] args) {
    // TODO Auto-generated method stub
            int d1 = Integer.parseInt(args[0]);
            int d2 = Integer.parseInt(args[1]);
            double result = d1 / d2;
            System.out.println(args[0] + "/" + args[1] + "=" + result);
        }
    }
    

    编译以上 java 程序 然后在命令行下运行,观察结果并分析。

    (1) java RTExp 1 
    (2) java RTExp 1 0 
    (3) java RTExp 1 a 
    

    2.非运行时异常
    常见的有加载类或接口失败,文件未找到等。 以下代码演示 ClassNotFoundException 运行 TestLoader,观察输出并分析。 补充定义被加载的类 Main,如下:

    //先定义一个类加载器
    public class MyClassLoader extends ClassLoader {
        public Class loadClass(String name) {
            Class c = null;
            try {
                c = loadClass(name, true);
            } catch (ClassNotFoundException ce) {
                ce.printStackTrace();
            }
            return c;
        }
    }
    
    //再定义测试类
    
    import java.lang.reflect.Method;
    
    public class TestLoader {
        public static void main(String[] args) {
            MyClassLoader loader = new MyClassLoader();
            Class main = loader.loadClass("Main");
            System.out.println(main.toString());
            Method[] ms = main.getMethods();
            for (Method mt : ms) {
                System.out.println(mt.toString());
            }
        }
    }
    

    运行 TestLoader,观察输出并分析。

    补充定义被加载的类 Main,如下:

    public class Main {
        public static void main(String[] args) {
    // TODO Auto-generated method stub
            System.out.println("Clas Main/method main");
        }
        public void test(){
            System.out.println("just test.");
        }
    }
    

    再次运行 TestLoader,并分析运行结果。

    (二) 异常处理机制

    1. 修改 RTExp 类,对数组越界和输入数据格式错误进行检查。

    2. 多异常处理时,注意 catch 语句块的顺序。 修改一下代码错误,使其通过编译,并输入不同测试用例,分析结果。

    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class MultiCatch {
        public static void main(String[] args) {
    // TODO Auto-generated method stub
            try {
                Scanner sc = new Scanner(System.in);
                int i = sc.nextInt();
            } catch (Exception e) {
                e.printStackTrace();
            } catch (InputMismatchException ie) {
                ie.printStackTrace();
            } catch (IllegalStateException le) {
                le.printStackTrace();
            }
        }
    }
    

    (三) 自定义异常

    自行设计相关类,实现用户登录功能,用异常体现业务规则。如用户登 录 时 需 要 输 入 用户名 和 密码, 如 果 不 匹配, 则 抛 出 NamePasswordMismatchException,要求重新输入,如果错误超过三次,则引发 ToomanyErrorsException,并结束程序运行

    三、实验结果

    (一) 异常的发生
    1、
    2、运行 TestLoader,观察输出并分析。
    在这里插入图片描述

    补充定义被加载的类 Main,

    (二) 异常处理机制

    (三) 自定义异常
    目录结构

    在这里插入图片描述

    public class NamePasswordMismatchException extends RuntimeException {
        public NamePasswordMismatchException(String message) {
            super(message);
        }
    }
    
    
    public class ToomanyErrorsException extends Exception {
        public ToomanyErrorsException(String message) {
            super(message);
        }
    
    }
    
    import java.util.Scanner;
    
    public class Login {
        private static String username = "张三";
        private static String password = "123456";
    
        public static void main(String[] args) throws ToomanyErrorsException, NamePasswordMismatchException {
    
            Scanner scanner = new Scanner(System.in);
            int count = 0;
            System.out.println("请输入用户名: ");
            String username = scanner.next();
    
            while (true) {
                System.out.println("请输入密码: ");
                String password = scanner.next();
                if ("登录成功".equals(login(username, password))) {
                    System.out.println("登录成功");
                    break;
                }
                count++;
                if (count==3){
                    throw new ToomanyErrorsException("密码输入次数已达上限!!!");
            }
        }
    }
    
        public static String login(String username, String password) throws NamePasswordMismatchException {
            if (!Login.username.equals(username)) {
                System.out.println("该用户名尚未注册,请核对后输入");
                return "用户名有误";
            } else {
                if (!Login.password.equals(password)) {
                    try {
                        throw new NamePasswordMismatchException("密码输入有误");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } else {
                    return "登录成功";
                }
                return "密码有误";
            }
        }
    }
    
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • java实验代码

    2014-12-02 14:21:58
    实验10 多态练习  实验11 多线程处理  实验12 I/O及文件处理  实验目的:掌握并使用Java中的I/O和文件。  心得体会:对于该实验,由于比较难,只是基本掌握了文件读写的方法和规则,还有待17周JAVA实...
  • 实验十二 图形用户界面一 一实验时间 姓名 学号 实验目的 掌握常见容器类的用法 掌握各种布局的用法 掌握常见组件的用法 理解Java事件处理机制 三知识点 1常用容器 2布局 3常用组件 4事件处理机制 四实验内容与...
  • 第9章 事件处理(2) 实验目标 完成本章的内容以后您将达到 了解事件处理机制 实现事件处理 本章实验给出了全面的操作步骤请学生按照给出的步骤独立完成实验以达到要求的实验目标 第一阶段指导学习(40分钟) 目的与要求...
  • Java面向对象程序设计 实验四 异常处理
  • 信息工程学院1 Java 程序设计 实习报告 JAVA图形用户界面 实验Java 图形用户界面 1实验目的 1掌握图形用户界面基本组件 2了解如何使用布局管理器对组件进行管理 3掌握 Java 事件处理机制 2实验内容 实验题 1 编写...
  • 一、实验目的及要求 通过实验掌握Java的图形界面、Java事件处理机制--委托事件模型。编写一个Java程序,在程序中建立一个窗口,有四个文本框、两个按钮,单击“求和”按钮,能把第一个和第二个文本框的整数相加后...

    一、实验目的及要求

       通过实验掌握Java的图形界面、Java事件处理机制--委托事件模型

    编写一个Java程序,在程序中建立一个窗口,有四个文本框、两个按钮,单击“求和”按钮,能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中,点击“复制”按钮,能将第三个文本框的内容复制到第四个文本框中,最后还可以正常关闭窗口。运行效果如下图所示:


    import java.awt.*;
    import java.awt.event.*;
    import java.math.BigDecimal;
    
    import javax.swing.*;
    
    public class CopyAndSum implements ActionListener{
    	private JButton but1, but2;
    	private JTextField L1, L2, R1, R2;
    	private JPanel jpan;
    	public void display() {
    		JFrame f = new JFrame("求和和复制");
    		f.setSize(750, 150);
    		f.setBackground(Color.lightGray);
    		f.setLayout(new FlowLayout(FlowLayout.CENTER));
    		L1 = new JTextField(15);
    		L2 = new JTextField(15);	
    		R1 = new JTextField(15);
    		R2 = new JTextField(15);
    		but1 = new JButton("求和");
    		but2 = new JButton("复制");
    		// 创建面板并添加文本框到面板中
    		jpan = new JPanel();
    		jpan.setLayout(new FlowLayout(FlowLayout.CENTER));
    		jpan.add(L1);
    		jpan.add(L2);
    		jpan.add(R1);
    		jpan.add(R2);
    		// 把面板和按钮添加进窗口中
    		f.add(jpan);
    		f.add(but1);
    		f.add(but2);
    		// 设置不可调整大小
    		f.setResizable(false);
    		// 为按钮but1 和按钮but2 注册事件监听器为CopyAndSum对象
    		but1.addActionListener(this);
    		but2.addActionListener(this);
    		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		f.setVisible(true);
    	}
    	public void actionPerformed(ActionEvent e) {
    		// 使用BigDecimal类进行加法运算
    		if(e.getSource() == but1) {
    			if(L1.getText().equals("") || L2.getText().equals("")){
    				return;
    			}
    			BigDecimal b1 = new BigDecimal(L1.getText());
    			BigDecimal b2 = new BigDecimal(L2.getText());
    			BigDecimal b3 = b1.add(b2);
    			R1.setText(b3.toString());
    		}
    		if(e.getSource() == but2) {
    			R2.setText(R1.getText());
    		}
    	}
    	public static void main(String[] args) {
    		(new CopyAndSum()).display();
    	}
    }

    实验结果:



    1、 简述图形界面的设计步骤?

    答:(1)创建组件(Component)--创建组成图形界面的各种元素,如按钮,文本框等。

    (2)指定布局(Layout)--根据具体需要排列图形界面上各元素的位置。

    (3)响应事件(Event)--定义图形用户界面的事件和各种界面元素对不同事件的响应,从而实现图形用户界面与用户的交互功能。

    2、 简述委托事件模型?

    答:在java语言中对事件的处理,采用的是委托事件模型机制。委托事件模型是将事件源(如命令按钮)和对事件做出具体处理(利用监听者对事件进行具体的处理)分离开来。一般情况下,组件(事件源)不处理自己的事件。而是将事件处理委托给外部的处理实体(监听者),这种事件处理模型就是事件的委托处理模型,即事件源将事件处理任务委托给了监听者。具体地讲,所谓委托事件模型,是指当事件发生时,产生事件的对象即事件源,会把此“信息”转给事件监听者处理的一种方式,而这里所指的“信息”实际上就是java.awt.even或javax.swing.event事件类库里某个类所创建的对象,我们把它称为“事件对象”。事件对象表示事件的内容,对象内部封装了一个对事件源的引用和其他信息,这个事件对象将作为参数自动传递给处理该事件的方法。



    展开全文
  • 试验九 Java图形用户界面设计1 一 试验目标 1掌握 Frame和面板使用 2布局管理器使用 3布局管理器使用 4边界风格使用 5掌握简单Java事件处理 二 试验内容 1创建并显示一个标题为My Frame背景色为白色大小为10001000...
  • java2 实用教程(第三版) 实验指导 上机实验7 组件及事件处理(2) 方程求根 字体对话框 英语单词拼写训练
  • 关于java实验报告模板 1掌握JavaApplet的程序结构和开发过程 2学会编写Applet对应的HTML文件掌握从HTML文件向Applet传递参数的方法 3.掌握文本框对象的使用方法 4掌握按钮类对象的使用方法 5.掌握布局管理器的用法 6...
  • 适合初学者,异常声明和抛出,以及log4j在日志记录方面的应用
  • java 包 接口 异常处理实验 java实验 报告
  • 数字图像处理:Java编程与实验

    热门讨论 2012-12-28 17:47:01
    《数字图像处理:Java编程与实验》共16章,除第0章介绍Java编程基础外,其余15章对应地编程实现了配套书《数字图像处理——原理与算法》中的所有算法,并进行相应的实验。光盘中有完整的程序代码和相应的实验图像,可...
  • 期末考查大作业任务书 课程名称 Java语言程序设计设计实验 题 目 简单记事本的设计与实现 学 院 管理学院 系 信息管理系 ... 实现一个记事本窗口能够处理关闭处理窗口事件 2. 记事本可进行文本编辑 3记事本具有菜单 4.
  • java实验一实验报告

    千次阅读 2021-03-05 14:28:56
    Java实验报告一:Java开发环境的熟悉20135315 宋宸宁实验要求:1. 使用JDK编译、运行简单的Java程序2.使用Eclipse 编辑、编译、运行、调试Java程序实验内容(一) 命令行下Java程序开发(二)Eclipse下Java程序开发、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,451
精华内容 54,580
关键字:

java实验10事件处理