黑马程序员技术交流社区
标题:
新手求问,谁帮忙看看这个怎么运行不了
[打印本页]
作者:
Adjin
时间:
2014-7-4 11:06
标题:
新手求问,谁帮忙看看这个怎么运行不了
public static void trans(int num,int base, int offset)
{
if(num==0);
{
System.out.println(0);
return ;
}
char[] chs={'0','1','2','3','4','5','6','7','8',
'9','A','B','C','D','E','F'};
编译的时候,会显示 错误:无法访问的语句,
char[] chs={'0','1','2','3','4','5','6','7','8',
'9','A','B','C','D','E','F'};
我觉得是return了,不再往下执行了,那怎么会编译报错?
作者:
燿陚√揚葳
时间:
2014-7-4 11:38
if(num==0); 楼主把后面的“;”去掉就可以了
作者:
郭可
时间:
2014-7-4 11:45
if语句你怎么还加; 最大的问题是if内部有return语录 一旦return执行了 方法结束了 后面的当然不能执行。
作者:
回音
时间:
2014-7-4 12:34
就是因为你有代码写在了return后面,才会显示unreachable code,最后再return就好了
作者:
青程
时间:
2014-7-4 13:11
符号问题
作者:
EarlyHeart
时间:
2014-7-4 13:38
if(num==0)
;
这里应该把
;
去掉,原因见代码注释:
public static void trans(int num,int base, int offset)
{
if(num==0);//这里直接分号结束表示如果num==0的话什么都不做(因为没有告诉程序要做什么就直接分号结束了),
//所以下面的程序跟这个if条件已经没有任何关系了
//那么下面这个语句块必然会执行
{
System.out.println(0);
return ;//这句话也必然会执行,所以程序运转到这一步必然会退出此方法,不在进行下面的代码了,所以编译器
//认为下面的任何代码都是多余的(都不可能被执行的)所以会有编译错误--无法访问的代码
}
char[] chs={'0','1','2','3','4','5','6','7','8',};
}
复制代码
作者:
790324255a
时间:
2014-7-4 14:18
楼上已为你解答
作者:
多此一举
时间:
2014-7-4 14:25
加分号就和后面无关系了
作者:
小艾~
时间:
2014-7-4 14:29
多了个分号
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2