电子版上机实验5

Java语言程序设计 上机实验5

试验目标:

精通分外的概念,精通Java的很是处理体制、常见极度的破获方法、自定义13分及其抛出和破获方法。

试行内容:

  1. 科学普及非常的捕获:

编排2个程序,分别生成ArrayIndexOutOfBoundsException类型和NumberFormatException类型的不行;然后改写程序,对那二种档次的可怜实行捕获并不无道理地拍卖。

另外,沉凝并回应难题:能还是不能够0同时抛出ArrayIndexOutOfBoundsException类型和NumberFormatException类型的拾贰分?为何?

  1. 自定义非凡的定义、拋出和破获:

(1) 自定义四个拾贰分类:违法姓名极度IllegaNameException和野鸡地址相当IllegalAddressException。

(2) 定义Student类包罗Name和Address属性,和setName、setAddress方法,当姓名长度小于1依旧高于5时抛出IllegaNameException,当地址中不包罗“省”或许“市”关键字时抛出IllegalAddressException。

(3) 编写程序抛出那二种卓殊,在main方法中展开捕获并不无道理地处理。

实验供给:

1. 在实验报告中付出程序运行结果截图。

  1. 源程序代码附到实验报告的最终。

  2. 信以为真填写实验报告并伏贴存档,在下次上机实验课在此以前发送电子版实验报告至 wsycup@foxmail.com

注意,“邮件标题”与“附属类小部件实验报告文件名”均为:

Java1试验报告N_学号_姓名

个中N为阿拉伯数字,指第五次尝试,例如:

Java1试验报告3_ 2012010400_李雷

请严酷依照分明的格式发送邮件(注意标题中“Java”后的数字“1”),邮件标题不吻合格式供给一律未交作业,并在规定的小运发送实验报告邮件,过期无效。

  1. 实验报告雷同者将不可能收获相应的平日分。

 

 

附录:实验报告

尝试标题__实验5________

学号__2014011329__   
姓名___许恺____     班级___计算机14-1___    
时间____________

试验标题解答

一.

电子版, 电子版 1

二.

电子版 2

 

附:源程序

一.

package com.Test5;

public class Test5 {


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a[]=new int[8];
        int b;
        try{
            for(int i=0;i<10;i++){
                System.out.println(a[i]);
            }
        }
        catch(ArrayIndexOutOfBoundsException e){
            System.out.println("数组越界");
        }
        try{
            b=Integer.parseInt("23gf");
        }
        catch(NumberFormatException e){
            System.out.println("类型格式转换错误");
        }
    }
}

二.Test55.java    
package com.Test55;

public class Test55 {

    /**
     * @param args
     * @throws IllegalAddressException 
     * @throws IllegaNameException 
     */
    public static void main(String[] args) throws IllegalAddressException, IllegaNameException {
        // TODO Auto-generated method stub
        Student s=new Student() ;
        s.setName("测试姓名字符串");
        s.setAddress("测试地址字符串");
    }

}

Student.java
package com.Test55;

public class Student {
    String Name;
    String Address;
    public void setName(String Name)throws IllegaNameException{
        if(Name.length()<1||Name.length()>5)
            throw new IllegaNameException(Name+",长度出错,应在1-5之间。");
        this.Name=Name;
    }
    public void setAddress(String Address)throws IllegalAddressException{
        boolean j=false;
        for(int i=0;i<Address.length();i++){
            if(Address.charAt(i)=='省'||Address.charAt(i)=='市'){
                j=true;
                break;
            }

        }
        if(j==false){
            throw new IllegalAddressException(Address+"中没有‘省’或‘市’出现,请修正");
        }
        this.Address=Address;
    }
}

IllegaNameException.java
package com.Test55;

public class IllegaNameException extends Exception {
    public  IllegaNameException(){
        super();
    }
    public  IllegaNameException(String s){
        super(s);
    }
}

IllegalAddressException.java
package com.Test55;

public class IllegalAddressException extends Exception {
    public IllegalAddressException(){    
        super();
    }
    public IllegalAddressException(String s){    
        super(s);
    }
}

体验和认知:

对此特其他拍卖经过编制程序之后才掌握她的含义和用法,遵循java中的规则,只是提供五个创造相当的阳台,定义也是在外场,以前知道错误了,以为新建格外都以在三个类中,对本身很有救助。

相关文章