我似乎无法找到解决此问题的方法。我正在做的就是声明一个整数,它告诉我代码无法访问。
private class myStack{
Object [] myStack = new Object[50];
private void push(Object a){
int count = 50;
while(count>0){
myStack[count]=myStack[count-1];
count--;
}
myStack[0]=a;
}
private Object pop(){
return myStack[0];
int count2 = 0; //Unreachable Code
}
}
答案 0 :(得分:7)
按Jim H.引用对问题的评论:
您从pop()方法返回。之后的任何事情都无法到达。
答案 1 :(得分:6)
从方法中return
后,您将返回到首先调用该方法的方法。在返回之后放置的任何语句都是没有意义的,因为这是在没有严重违反程序计数器的情况下无法访问的代码(在Java中可能无法实现)。
答案 2 :(得分:0)
无法访问的代码导致Java中的编译器错误。
在你的程序中
行int count2 = 0;
永远不会到达,因为它是在return语句之后。
将此行放在return语句上方。
答案 3 :(得分:0)
简单的英文简单解释如下:
private Object pop(){
return myStack[0];
int count2 = 0; //Unreachable Code
}
方法private Object pop(){}
正在寻找返回类型Object
,您只需通过编写return myStack[0];
来提供该返回类型。因此,您的方法不一定会达到int count2 = 0;
该方法已达到目标。
答案 4 :(得分:0)
函数中的最后一条语句应该是return语句。
由于计数器作用域结束后它会干扰新内存的分配,因此lining工具会对其进行标记。
答案 5 :(得分:-1)
在返回修复
的myStack [0]之前声明