您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > JAVA实验三2-(2)
《Java程序设计》实验报告班级:学号:姓名:1题目用户自行定义一个异常编程创建并抛出某个异常类的实例,运行该程序并观察执行结果。例如:用户密码的合法化验证,,若长度不落在这个范围或不是由数字组成,抛出自己的异常。2目的和要求掌握和熟悉异常处理机制,并且能定义自定义异常,创建并抛出异常类的实例。3功能说明用户密码的合法化验证,要求密码由四到六个数字组成。4设计流程图5源程序Myexception.javapackagepassword;importjava.awt.EventQueue;publicclassMyexception{privateJFrameframe;privateJTextFieldtextField;privateJTextFieldtextField_1;/***Launchtheapplication.*/publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{Myexceptionwindow=newMyexception();window.frame.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}抛出异常捕捉异常处理异常/***Createtheapplication.*/publicMyexception(){initialize();}/***Initializethecontentsoftheframe.*/privatevoidinitialize(){frame=newJFrame();frame.setTitle(\u5BC6\u7801\u5F02\u5E38\u5904\u7406);frame.setBounds(100,100,450,300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(null);textField=newJTextField();textField.setBounds(176,53,137,21);frame.getContentPane().add(textField);textField.setColumns(10);JLabellblNewLabel=newJLabel(\u7528\u6237\u540D);lblNewLabel.setBounds(112,56,54,15);frame.getContentPane().add(lblNewLabel);JLabellblNewLabel_1=newJLabel(\u5BC6\u7801);lblNewLabel_1.setBounds(112,93,54,15);frame.getContentPane().add(lblNewLabel_1);textField_1=newJTextField();textField_1.setBounds(176,90,137,21);frame.getContentPane().add(textField_1);textField_1.setColumns(10);JButtonbutton=newJButton(\u767B\u9646);button.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventarg0){try{Stringstr=newString(java);int[]temp=newint[5];for(inti=0;i5;i++){temp[i]=i;}Useruser=newUser(str,temp);Stringstr1=textField_1.getText();user.login(str1);JOptionPane.showMessageDialog(null,登陆成功!!!);System.out.println(登陆成功!!!);}catch(Exceptione){//TODOAuto-generatedcatchblockSystem.out.println(e.toString());}}});button.setBounds(157,150,93,23);frame.getContentPane().add(button);}}User.javapackagepassword;publicclassUser{Stringname;int[]password;User(Stringname,int[]p){this.name=name;this.password=p;}publicvoidlogin(Stringstr1)throwsPasswordexception{if(!str1.matches(\\d*))//正则表达式判断是否为数字thrownewPasswordexception(str1);if(str1.length()4||str1.length()6)thrownewPasswordexception(str1.length());}}Passwordexception.javapackagepassword;importjavax.swing.JOptionPane;publicclassPasswordexceptionextendsException{/****/privatestaticfinallongserialVersionUID=895369008406366883L;Passwordexception(intl){JOptionPane.showMessageDialog(null,字符个数不合!);}Passwordexception(Stringstr){JOptionPane.showMessageDialog(null,“+str+”+含有非法字符!);}}6数据结果7实验心得与体会学习怎么样自定义自己的异常类,并且加以异常处理,处理过程中的判断异常的方法各异,开始的时候想到的是直接将字符串转换成字符加以判断,后来了解到运用正则表达式判断更加简单。所以采用了此方法。
本文标题:JAVA实验三2-(2)
链接地址:https://www.777doc.com/doc-4950036 .html