申し訳ありませんが、私は愚かな質問をすると、Javaで長時間練習しません...... ハッシュテーブルをシミュレートするコードを書きました。 は、ここに私のコードの機能の一つである:別の場所にあるJavaのデッドコード
protected int find(K key){
int avail=-1;
int i=hashValue(key);
int j=i;
do{
Entry<K, V> element = bucket[i];
if(element==null){
if(avail<0){
avail=i;
}
break;
}
if(key.equals(element.getK())){
return i; // found
}
if(element==this.used){
if(avail<0){
avail=i;
}
}
i=(i+1)%capa;
}while(i!=j);
return -(avail+1); // return a hash address
}
奇妙なことは、ある私は戻ってif文の場合(要素== null)の(どこかが、構造の冒頭)を少し変更したときに、それを私はそれがデッドコードであると私に警告します:
protected int find(K key){
int avail=-1;
int i=hashValue(key);
int j=i;
do{
Entry<K, V> element = bucket[i];
if(key.equals(element.getK())){
return i; // found
}
if(element==this.used){
if(avail<0){
avail=i;
}
}
// dead code then
if(element==null){
if(avail<0){
avail=i;
}
break;
}
//dead code then
i=(i+1)%capa;
}while(i!=j);
return -(avail+1); // return a hash address
}
誰かが間違っていることを知っていますか?あなたは上記の行でそれを既に参照しているので、あなたの2番目のコード例では
アーウィンの答えはスポットオンですが、デッドコードのフィードバックを与えてくれるものは何ですか? –