package Meuscodigos;
import java.io.*;
class Vetor1 {
private Object item[];
private int primeiro, ultimo, pos;
public Vetor1(int tamanhoMaximo) {
this.item = new Object[tamanhoMaximo];
this.pos = -1;
this.primeiro = 0;
this.ultimo = this.primeiro;
}
public void insere(Object x) throws Exception {
if(this.ultimo >= this.item.length)
throw new Exception("Erro: A lista esta cheia");
else {
this.item[this.ultimo] = x;
this.ultimo = this.ultimo + 1;
}
}
public boolean vazia() {
return(this.primeiro == this.ultimo);
}
public Object pesquisa(Object chave) {
if(this.vazia() || chave==null)
return null;
for(int p = 0; p < this.ultimo; p++)
if(this.item[p].equals(chave))
return this.item[p];
System.out.println("teste");
return null;
}
public static void main(String[] args) {
Vetor1 lista = new Vetor1(5);
String obj_int = new String("x");
Integer obj_int2 = new Integer(6);
try {
lista.insere(obj_int);
lista.insere(obj_int2);
System.out.println(lista.item[0]);
System.out.println(lista.item[1]);
} catch(Exception e) {
e.printStackTrace();
}
lista.pesquisa(obj_int); //não está funcionando :(
}
}
Só quero criar uma lista com método insere e método pesquisa, mas o meu método pesquisa parece não estar rodando.
Não era para aparecer “Teste” no cmd ?
Não, pois olha como você implementou o método pesquisa:
public Object pesquisa(Object chave) {
if (this.vazia() || chave == null) {
return null;
}
for (int p = 0; p < this.ultimo; p++) {
if (this.item[p].equals(chave)) {
return this.item[p]; // encerra a execução do método retornando o item encontrado
}
}
System.out.println("teste"); // só vai imprimir "teste" quando não encontrar o item
return null;
}
1 curtida
E na linha onde vc invoca o método que realiza a pesquisa, caso encontre o item, não vai acontecer nada, pq vc não mandou imprimir o resultado:
lista.pesquisa(obj_int); //não está funcionando :(
Falta um system.out nessa linha ai.
