| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 471 人关注过本帖
标题:各位帮帮忙看一下我的程序(异常处理中的问题),期待请教!谢谢!
只看楼主 加入收藏
思忆季节
Rank: 2
来 自:珠海
等 级:论坛游民
帖 子:42
专家分:62
注 册:2010-5-12
结帖率:100%
收藏
 问题点数:0 回复次数:2 
各位帮帮忙看一下我的程序(异常处理中的问题),期待请教!谢谢!
import java.util.Scanner;

class MyException extends Exception{
    MyException(){
        super("面试年龄不符合!");
    }
}
class LaborialStaff{
    void get(int age){
        if(age<18||age>40){
            throw new MyException();
        }else{
            System.out.println("符合面试要求!");
        }
    }
}
class MiddleManagement{
    void get(int age){
        if(age>28&&age<50){
            System.out.println("符合面试要求!");
        }else{
            throw new MyException();
        }
    }
}
class SeniorManagement{
    void get(int age){
        if(age>35&&age<65){
            System.out.println("符合面试要求!");
        }else{
            throw new MyException();
        }
    }
}
public class Recruitment_3 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int age1,age2,age3;
        int i;
        try{
            System.out.println("请输入你要应聘的职位,1为普工,2为中层管理员,3为高级管理员.谢谢!");
            Scanner sc=new Scanner(System.in);
            i=sc.nextInt();
            switch(i){
            case 1:
                System.out.println("你要应聘的是普通员工,请输入你的年龄:");
                Scanner ss=new Scanner(System.in);
                age1=ss.nextInt();
                LaborialStaff a=new LaborialStaff();
                a.get(age1);
                break;
            case 2:
                System.out.println("你要应聘的是中层管理人员,请输入你的年龄:");
                Scanner mm=new Scanner(System.in);
                age2=mm.nextInt();
                MiddleManagement b=new MiddleManagement();
                b.get(age2);
                break;
            case 3:
                System.out.println("你要应聘的是高级管理人员,请输入你的年龄:");
                Scanner xx=new Scanner(System.in);
                age3=xx.nextInt();
                SeniorManagement c=new SeniorManagement();
                c.get(age3);
                break;
            default:
                System.out.println("Input Error!");
                break;
                }
            }catch(MyException ex){
            System.out.println(ex.getMessage());
        }

    }

}
//错误就在标记的地方了,为啥这样抛出的自定义异常不能捕捉,请个位帮帮忙看看,谢谢!
搜索更多相关主题的帖子: 期待 
2010-11-04 21:43
思忆季节
Rank: 2
来 自:珠海
等 级:论坛游民
帖 子:42
专家分:62
注 册:2010-5-12
收藏
得分:0 
自己找出错误来了,哈哈!答案如下:
import java.util.Scanner;

class MyException extends Exception{
    MyException(){
        super("年龄不符合面试相应的职位!");
    }
}
public class Recruitment_3 {
    public static void get1(int age1)throws MyException{
        if(age1<18||age1>40){
            throw new MyException();
        }else{
            System.out.println("年龄符合面试普工要求,谢谢合作!");
        }
    }
    public static void get2(int age2)throws MyException{
        if(age2>28&&age2<50){
            System.out.println("年龄符合面试中层管理人员要求,谢谢合作!");
        }else{
            throw new MyException();
        }
    }
    public static void get3(int age3)throws MyException{
        if(age3>35&&age3<65){
            System.out.println("年龄符合面试高层管理人员要求,谢谢合作!");
        }else{
            throw new MyException();   
        }
    }   
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int age1,age2,age3;
        int i;
        try{
            System.out.println("请输入你要应聘的职位,1为普工,2为中层管理员,3为高级管理员,谢谢!");
            Scanner sc=new Scanner(System.in);
            i=sc.nextInt();
            switch(i){
            case 1:
                System.out.println("你要应聘的是普通员工,请输入你的年龄:");
                Scanner ss=new Scanner(System.in);
                age1=ss.nextInt();
                get1(age1);
                break;
            case 2:
                System.out.println("你要应聘的是中层管理人员,请输入你的年龄:");
                Scanner mm=new Scanner(System.in);
                age2=mm.nextInt();
                get2(age2);
                break;
            case 3:
                System.out.println("你要应聘的是高级管理人员,请输入你的年龄:");
                Scanner xx=new Scanner(System.in);
                age3=xx.nextInt();
                get3(age3);
                break;
            default:
                System.out.println("你输入的应聘职位序号不正确!");
                break;
                }
            }catch(MyException ex){
            System.out.println(ex.getMessage());
        }
    }
}
//原来开始是自己不会声明抛出的throw。。。
2010-11-05 12:47
legga
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2010-11-8
收藏
得分:0 
学习中···
2010-11-08 12:23
快速回复:各位帮帮忙看一下我的程序(异常处理中的问题),期待请教!谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057993 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved