黑马程序员技术交流社区

标题: 输出语句问题咨询 [打印本页]

作者: 涐扪①起奮乧    时间: 2013-11-1 17:14
标题: 输出语句问题咨询
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(4,0);
                System.out.println("x="+x);
              }
            catch(Exception  e)
            {
               System.out.println("除零了");
               e.printStacktrace();
            }
       }
}

请问 e.printStacktrace();为什么不能写成System.out.println(e.printStacktrace());就是说为什么不能放在输出语句中打印。printStacktrace();没有返回值,就不能再输出语句中打印,原因是什么?请大家帮忙解释一下。谢谢
作者: 零下五度的水    时间: 2013-11-1 17:26
你看看 System.out.println() 方法的参数是什么
作者: 涐扪①起奮乧    时间: 2013-11-1 17:37
零下五度的水 发表于 2013-11-1 17:26
你看看 System.out.println() 方法的参数是什么

java 中的System.out.println 函数进行了重载,就是只有一个参数
参数类型可以是整型、字符型、对象、浮点型。。。但是为什么不能在输出语句中打印还是不知道。。请解释明细一点,谢谢
作者: ixiangfeng    时间: 2013-11-1 17:39
e.printStacktrace()这个方法是void类型的 就是说这个函数执行完是不会返回东西的了 没有东西返回那System.out.println();打印什么呢 你把它当成普通的方法 方法体里面只有一句话 例如里面就是System.out.println("a"); 在这个方法里面打印完"a"后就没有东西了 既然你已经看到异常这部分了 我想这个问题对你来说应该不难吧System.out.println();方法需要参数 但你这里相当于没有参数传进去
作者: 涐扪①起奮乧    时间: 2013-11-2 09:11
ixiangfeng 发表于 2013-11-1 17:39
e.printStacktrace()这个方法是void类型的 就是说这个函数执行完是不会返回东西的了 没有东西返回那System. ...

思绪清楚一些了,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2