Java - Metodos indexof y get

   
Vista:
Imágen de perfil de Juan

Metodos indexof y get

Publicado por Juan (3 intervenciones) el 08/11/2014 01:42:37
Buenas Compañeros del foro, como ven soy nuevo en este foro.
Soy estudiante de ingeniería en sistemas 5 semestre y estoy aprendiendo java, la razón de este temas es sobre una investigación que me coloco el tutor ya que no he visto estos métodos me gustaría que me pudieran ayudar de como implementar un operación para estos métodos, he tratado de colocar lógica para hacer el bucle de get pero nada, y el de indexof si no tengo idea, ya que ese método es nuevo para mi, se le es agradecería su ayuda.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
public class Listas {
 
    private Nodo cabeza = null;
    private int tamaño;  //atributo derivado/calculado
 
 
    public Listas() {
        this.cabeza = null;
 
    }
 
    public void agregar(int v) {
 
        Nodo nuevoNodo = new Nodo(v, cabeza);
        cabeza = nuevoNodo;
    }
 
    public boolean estaContenido (int valor) {
        Nodo aux=cabeza;
        while (aux!=null) {
            if (aux.valor==valor){
                return true;
            }
        aux=aux.sgte;
    }
        return false;
    }
 
    public boolean esVacia() {
        return (cabeza == null);
    }
 
    public void indexOf (int valor) {
//determinar en que posicion esta un elemento.
devolver numero, si no esta contenido devuelve -1
 
 
    }
 
    public int getvalor() {
//obtener elemento le doy posicion, y me devuleve el numero de esa posicion
generar un error si no esta el numero en esa posicion
 
 
    }
 
 
 
//    public int longitud () {
//        //se inicia el contador en 0
//        int cantidad=0;
//        Nodo aux=cabeza;
//        // cuenta la cantidad de nodos
//        while (aux !=null)  {
//            //cuenta nodos
//            cantidad++;
//            //IR  AL SGTE NODO
//            aux=aux.sgte;
//        }
//        return cantidad;
//    }
 
 
    class Nodo {
 
        public int valor;
        public Nodo sgte;
 
        public Nodo(int valor, Nodo sgt) {
            this.valor = valor;
            this.sgte = sgt;
        }
 
    }
      @Override
    public String toString() {
        if (esVacia()) {
            return "{}";
        } else {
            String s = "{" + cabeza.valor;
            Nodo n = cabeza.sgte;
            while (n != null) {
                s = s + "," + n.valor;
                n=n.sgte;
            }
            s = s + "}";
            return s;
 
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Metodos indexof y get

Publicado por Andrés (231 intervenciones) el 09/11/2014 19:30:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
class Nodo {
 
	public int valor;
	public Nodo sgte;
 
	public Nodo(int valor, Nodo sgt) {
		this.valor = valor;
		this.sgte = sgt;
	}
 
}
 
class ListaIndiceFueraDeRangoError extends Error {
 
 
	private static final long serialVersionUID = 4507813921356941932L;
	public ListaIndiceFueraDeRangoError() {
		super();
	}
 
	public ListaIndiceFueraDeRangoError(String mensaje){
		super(mensaje);
	}
 
}
 
public class Listas {
 
	private Nodo cabeza;
	private int tamanyo;
 
	public Listas() {
		this.cabeza = null;
		this.tamanyo=0;
	}
 
	public void agregar(int v) {
 
		Nodo nuevoNodo = new Nodo(v, this.cabeza);
		this.cabeza = nuevoNodo;
		this.tamanyo++;
 
	}
 
	public boolean estaContenido(int valor) {
 
		Nodo aux = this.cabeza;
 
		while (aux != null) {
 
			if (aux.valor == valor) {
				return true;
			}
 
			aux = aux.sgte;
 
		}
 
		return false;
	}
 
	public boolean esVacia() {
		return (null==this.cabeza);
	}
 
	public int indexOf (int valor) {
 
		Nodo aux = this.cabeza;
		int i=0;
 
		while (aux != null) {
 
			if (aux.valor == valor) {
				return i;
			}
 
			aux = aux.sgte;
			i++;
		}
 
		return -1;
 
	}
 
	public int getValor(int index) {
		//obtener elemento le doy posicion, y me devuleve el numero de esa posicion generar un error si no esta el numero en esa posicion
		Nodo aux = this.cabeza;
		int i=0;
 
		if(index >= this.tamanyo || 0 > index) {
 
			throw new ListaIndiceFueraDeRangoError("Indice mayor al tamaño de la lista");
 
		}
 
		while (aux != null) {
 
			if(index==i) {
				return aux.valor;
			}else {
				aux = aux.sgte;
				i++;
			}
 
		}
 
		return -1;
 
	}
 
	public int longitud () {
 
		return this.tamanyo;
 
	}
 
 
 
	@Override
	public String toString() {
		if (esVacia()) {
			return "{}";
		} else {
			String s = "{" + cabeza.valor;
			Nodo n = cabeza.sgte;
			while (n != null) {
				s = s + "," + n.valor;
				n = n.sgte;
			}
			s = s + "}";
			return s;
 
		}
	}
 
	public static void main(String[] args) {
 
		Listas l = new Listas();
		l.agregar(1);
		l.agregar(3);
		l.agregar(2);
 
		System.out.println("La lista esta vacia? "+l.esVacia());
		System.out.println("Cuántos elementos tiene la lista? "+l.longitud());
		System.out.println("La lista contiene 1? "+l.estaContenido(1));
		System.out.println("La lista contiene 3? "+l.estaContenido(3));
		System.out.println("La lista contiene 2? "+l.estaContenido(2));
		System.out.println("La lista contiene 5? "+l.estaContenido(5));
 
		System.out.println("En que indice esta el elemento 1? "+l.indexOf(1));
		System.out.println("En que indice esta el elemento 3? "+l.indexOf(3));
		System.out.println("En que indice esta el elemento 2? "+l.indexOf(2));
		System.out.println("En que indice esta el elemento 4? "+l.indexOf(4));
		System.out.println("Cuál es el valor en el indice 0? "+l.getValor(0));
		System.out.println("Cuál es el valor en el indice 1? "+l.getValor(1));
		System.out.println("Cuál es el valor en el indice 2? "+l.getValor(2));
		System.out.println("Cuál es el valor en el indice 3? "+l.getValor(3));
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Juan

Metodos indexof y get

Publicado por Juan (3 intervenciones) el 09/11/2014 20:46:28
Compañero Gracias por su ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar