A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mirror 中级黑马   /  2014-7-7 13:30  /  1347 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看完毕老师讲的求圆和长方形的面积后,我自己试着重新编写这个程序,现在出现了问题 ,自己看不懂,求高手帮忙
package example;
//求圆和长方形的面积  自定义两种异常,1输入0和负数的异常;2输入大于20的数的异常

public class ExceptionTest1
{
        public static void main(String[] args)
        {
                try
                {
                        YuanXing y = new YuanXing(5);
                        y.area();     这儿报错了  Exception in thread "main" java.lang.Error: Unresolved compilation problem:
                                                              No enclosing instance of type ExceptionTest1 is accessible. Must qualify the allocation with an enclosing                                                                     instance of type ExceptionTest1 (e.g. x.new A() where x is an instance of ExceptionTest1).

                }
                catch(NoValueException e)
                {
                        System.out.println("输入非法值了");
                }
        }
}
class YuanXing
{
        private int banjin;
        public static final double PI = 3.14;
        YuanXing(int banjin) throws NoValueException
        {   
                if(banjin <= 0)
                        throw new NoValueException("输入非法值了");
                this.banjin = banjin;
        }
        public  void area()
        {
                System.out.println(banjin * banjin *PI);
        }
}
class NoValueException extends Exception
{
        NoValueException(String message)
        {
                super(message);
        }
}       



4 个回复

倒序浏览
验证代码没问题.....
public class Demo2
{
        public static void main(String[] args)
        {
                try
                {
                        YuanXing y = new YuanXing(-5);
                        y.area();   

                }
                catch(NoValueException e)
                {
                        System.out.println("输入非法值了");
                }
        }
}
class YuanXing
{
        private int banjin;
        public static final double PI = 3.14;
        YuanXing(int banjin) throws NoValueException
        {   
                if(banjin <= 0)
                        throw new NoValueException("输入非法值了");
                this.banjin = banjin;
        }
        public  void area()
        {
                System.out.println(banjin * banjin *PI);
        }
}
class NoValueException extends Exception
{
        NoValueException(String message)
        {
                super(message);
        }
}        
回复 使用道具 举报
试过了 是没有问题的!
回复 使用道具 举报
谭荣强 发表于 2014-7-7 17:42
验证代码没问题.....
public class Demo2
{

额  神奇了   我电脑上也好了    我觉得我的eclipse出问题了
回复 使用道具 举报
Darkhorse′Xa 发表于 2014-7-7 17:54
试过了 是没有问题的!

谢谢了   我刚才又试了一遍  没报错  搞不懂了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马