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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ぺsimon☆ 中级黑马   /  2013-4-16 23:30  /  1343 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ぺsimon☆ 于 2013-4-17 09:56 编辑
  1. class Demo
  2. {
  3.         int div(int a,int b);
  4.         {
  5.         return a/b;
  6.         }
  7. }

  8. class ExceptionDemo
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.         Demo d=new Demo();  //创建对象
  13.         try
  14.         {
  15.         int x=d.div(3,0);   //调用对象方法
  16.         System.out.print(x);
  17.         }
  18.         catch(Exception e)
  19.         {
  20.         System.out.print("除零啦");
  21.         System.out.print(e.toString()); //异常名称:异常信息
  22.         System.out.print(e.getMessage());//by zero
  23.         e.printStackTrace();//异常名称,异常信息,异常出现的位置
  24.         }
  25.         }
  26. }
复制代码
错误提示:
ExceptionDemo.java:3: 缺少方法主体,或声明抽象
        public int div(int a,int b);
                   ^
ExceptionDemo.java:5: 返回外部方法
        return a/b;
        ^
2 错误

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

6 个回复

倒序浏览

第三行多了个分号。。。
搞的我也跟着排查了半天。。。。
回复 使用道具 举报
   int div(int a,int b);
        {
        return a/b;
        }

这里吧分号去掉就可以了,就这里一个错误。

正确的代码是:

class Demo
{
        int div(int a,int b)
        {
        return a/b;
        }
}

class ExceptionDemo
{
        public static void main(String[] args)
        {
          Demo d=new Demo();  //创建对象
        try
        {
        int x=d.div(3,0);   //调用对象方法
        System.out.print(x);
        }
        catch(Exception e)
        {
        System.out.print("除零啦");
        System.out.print(e.toString()); //异常名称:异常信息
        System.out.print(e.getMessage());//by zero
        e.printStackTrace();//异常名称,异常信息,异常出现的位置
        }
        }
}

可以运行出正确的结果.
除零啦java.lang.ArithmeticException: / by zero/ by zerojava.lang.ArithmeticExcep
tion: / by zero
        at Demo.div(ExceptionDemo.java:5)
        at ExceptionDemo.main(ExceptionDemo.java:16)

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
  1. class Demo
  2. {
  3.         int div(int a,int b)
  4.         {
  5.         return a/b;
  6.         }i
  7. }

  8. public class Demo00
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.         Demo d=new Demo();  //创建对象
  13.         try
  14.         {
  15.         int x=d.div(3,0);   //调用对象方法
  16.         System.out.print(x);
  17.         }
  18.         catch(Exception e)
  19.         {
  20.         System.out.print("除零啦");
  21.         System.out.print(e.toString()); //异常名称:异常信息
  22.         System.out.print(e.getMessage());//by zero
  23.         e.printStackTrace();//异常名称,异常信息,异常出现的位置
  24.         }
  25.         }
  26. }
复制代码
int div(int a,int b)后面多个分号,粗心了。。。。。。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
  1. class Demo
  2. {
  3.         int div(int a,int b);
  4.         {
  5.         return a/b;
  6.         }
  7. }

  8. class ExceptionDemo
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.         Demo d=new Demo();  //创建对象
  13.         try
  14.         {
  15.         int x=d.div(3,0);   //调用对象方法
  16.         System.out.print(x);
  17.         }
  18.         catch(Exception e)
  19.         {
  20.         System.out.print("除零啦");
  21.         System.out.print(e.toString()); //异常名称:异常信息
  22.         System.out.print(e.getMessage());//by zero
  23.         e.printStackTrace();//异常名称,异常信息,异常出现的位置
  24.         }
  25.         }
  26. }
复制代码
第三行多了个分号,那么你的那的int div(int a,int b)这个方法就相当于没有方法体,肯定会报错!

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
黄玉昆 发表于 2013-4-17 09:10
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢 ...

问题,解决了谢谢大家
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马