一道java题目求大神解释

publicclassTestDogs{publicstaticvoidmain(String[]args){Dog[][]theDogs=newDog[3][];Sys... public class TestDogs{
public static void main(String[] args)
{
Dog[][] theDogs = new Dog[3][];
System.out.println(theDogs[2][0].toString());
}
}
class Dog {}
运行结果是什么?具体原因是什么?
A. null B. theDogs C. Compilation fails
D. An exception is thrown at runtime
展开
 我来答
282518588
2014-07-11 · TA获得超过688个赞
知道小有建树答主
回答量:1383
采纳率:50%
帮助的人:373万
展开全部
D
应该是D,因为你定义二维数组的时候不正确
当你取theDogs[2][0]时其中会抛出异常
leedone310
2014-07-11 · 超过31用户采纳过TA的回答
知道答主
回答量:200
采纳率:0%
帮助的人:90.2万
展开全部
theDogs对象是个数组对象,里面3个元素全为空。
theDogs[2][0].toString()应该会报空指针异常。
答案为D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千边根失花住注0Y
2014-07-11
知道答主
回答量:46
采纳率:66%
帮助的人:13.8万
展开全部
D 经过实际运行得出
Exception in thread "main" java.lang.NullPointerException
at com.xuxy.Test.TestDogs.main(TestDogs.java:7)

因为 你的二维数组 theDogs[2][0] 没有初始化,也就是说 theDogs[2][0]是null的 这时调用toString的时候就报错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Minhellic
推荐于2016-03-02 · TA获得超过118个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:121万
展开全部
你这样使用会抛出空指针异常,二维数组theDogs只设置了行为3行,列为多少没有设置,运行时系统也无法知道。数组theDogs本身是一个引用类型,所以这就会导致空指针异常。

Exception in thread "main" java.lang.NullPointerException
at net.minhellic.Test.main(Test.java:7)

根据你的选项只能选D
A和B纯属扯蛋,至于C,这个程序在语法上是没有错误的,编译可以通过,产生异常都是运行时错误
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式