while((int b = in.read()) != -1) 错在哪里啊?
答案:2 悬赏:20 手机版
解决时间 2021-03-18 01:31
- 提问者网友:不要迷恋哥
- 2021-03-17 04:00
while((int b = in.read()) != -1) 错在哪里啊?
最佳答案
- 五星知识达人网友:拜訪者
- 2021-03-17 04:15
while是循环,你写在里面每次都会有个 int b= in.read();
相当于你写下代码 int b; int b=0; 试一下编译能不能通过,会重定义错误的。
相当于你写下代码 int b; int b=0; 试一下编译能不能通过,会重定义错误的。
全部回答
- 1楼网友:山有枢
- 2021-03-17 04:30
in = null?这样运行时肯定会抛出一个空指针访问异常,异常会指向 in.read()追问FileInputStream in = null;这个我们先不管,我是用来说明下面的in
再说java里没有指针呀。。。。。。
我是问int b定义在while()中就不行。为什么》追答噢!怪我没看清楚问题,楼下那位是正确的。while((int b = in.read()) != -1)这样做就相当于你定义了多个同名变量b,当循环次数大于1时,这自然是错误。它不像for循环,for循环中for(int i=0;;)的int i=0只执行一次。还有,如果in = null,后面引用in 时肯定会抛出"java.lang.NullPointerException"异常,即空指针异常。答案当给楼下的。
再说java里没有指针呀。。。。。。
我是问int b定义在while()中就不行。为什么》追答噢!怪我没看清楚问题,楼下那位是正确的。while((int b = in.read()) != -1)这样做就相当于你定义了多个同名变量b,当循环次数大于1时,这自然是错误。它不像for循环,for循环中for(int i=0;;)的int i=0只执行一次。还有,如果in = null,后面引用in 时肯定会抛出"java.lang.NullPointerException"异常,即空指针异常。答案当给楼下的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯