Java - Acceder a un atributo de un array de objetos.

 
Vista:
sin imagen de perfil
Val: 41
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Francisco Tomás (14 intervenciones) el 18/11/2019 10:20:19
Primero, hola a todos y gracias de antemano.

Yo tengo en mi clase Main un array de objetos [100] que se va llenado.

Imagen5

Los atributos de los objeots son:

Nombre,asiento y tarjeta.

Imagen

Imagen1

Lo quequiero es evaluar en mi clase avion si tiene tarjeta de embarque(true), pero no se como acceder al atributo tarjeta de cada objeto de mi array de objetos.

Imagen6

Gracias por todas las aportaciones, un saludo.
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
sin imagen de perfil
Val: 212
Bronce
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Juan (61 intervenciones) el 18/11/2019 12:35:32
Cuando es una variable booleana y has generado los get y seters automaticamente con el IDE, no es getTarjeta() si no isTarjeta(), quedando asi:

1
2
3
if (nombresDesordenados[i].isTarjeta!=false){
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Rodrigo
Val: 712
Bronce
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Rodrigo (179 intervenciones) el 18/11/2019 15:59:41
1
2
3
if( nombresDesordenados[i].isTarjeta() ) {
  ...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 41
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Francisco Tomás (14 intervenciones) el 18/11/2019 17:25:12
Muchas a ambos por la aclaración.

Sin embargo aun me sale un error, que he intentado solucionar pero ni idea de donde puede venir.


Imagen8

Si sabeis de que trata agradeceria la 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
sin imagen de perfil
Val: 212
Bronce
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Juan (61 intervenciones) el 18/11/2019 17:48:19
el parametro del metodo. estas poniendo esto:

1
2
3
public void embarque(String[] nombresDesordenados){
...
}

No es un Array de String si no me equivoco, si no de Objetos de la clase Pasajero, por lo tanto debes poner esto:

1
2
3
public void embarque(Pasajero[] nombresDesordenados){
...
}
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
sin imagen de perfil
Val: 41
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Francisco Tomás (14 intervenciones) el 18/11/2019 17:55:18
Madre mía era por eso que no encontraba el método, gracias, no lo veía ni a tiros.

Gracias por la 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
sin imagen de perfil
Val: 41
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Francisco Tomás (14 intervenciones) el 18/11/2019 18:26:01
Si fueras tan amable te podria hacer otra pregunta?.

Al tratar este array de objetos en un metodo(que tiene la funcion de desordenar los objetos ).
Como devo expecificar el return para que devuelva un array de objetos?,porque ahora mismo me devuelve un String lo que está mal.
Y como paso los datos de mi array de objetos original a uno nuevo en el cual ya estaran desordenados?

Imagen10

Perdon por tantas preguntas y mil gracias por toda la 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
Imágen de perfil de pablo
Val: 703
Bronce
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por pablo (176 intervenciones) el 18/11/2019 20:24:00
Public Pasajeros al momento de declarar la funcion estas pasando String y no pasajeros
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
Imágen de perfil de Lawliet
Val: 879
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Lawliet (302 intervenciones) el 18/11/2019 20:30:34
Hola!

El return es el correcto si quieres regresar un arreglo de objetos, lo que tendrías que cambiar sería la firma del método, en vez de especificar un arreglo de String, tendrías que especificar un arreglo de Objetos.

1
2
3
4
public Pasajeros[] getPasajeros(Pasajeros[] arreglo) {
	Pasajeros[] pasajeros = new Pasajeros[100];
	return pasajeros;
}

Y ya para utilizar ese método en algún otro lado sería algo parecido a esto.

1
Pasajeros[] nuevoArreglo = getPasajeros(arregloPasajeros);

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 41
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Francisco Tomás (14 intervenciones) el 18/11/2019 20:41:34
Gracias por vuestros comentarios.

Lawliet eso funciona perfecto.


Imagen11

Sin embargo todavía no consigo pasar array original al nuevo(ya desordenado),me salta lo siguiente:
incompatible types: Pasajero[] cannot be converted to Pasajero
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
Imágen de perfil de Lawliet
Val: 879
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Lawliet (302 intervenciones) el 18/11/2019 21:04:55
Hola!

A continuación, te dejo el método como según yo debería ser...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public Pasajero[] desordenar(Pasajero[] arrayObjetos) {
	Random random = new Random();
	Pasajero[] arrayObjetos1 = new Pasajero[100];
	int indice = 0;
 
	while(indice < 5) {
		int posicion = random.nextInt(arrayObjetos.length);
 
		if(!Arrays.asList(arrayObjetos1).contains(arrayObjetos[posicion])) {
			arrayObjetos1[indice] = arrayObjetos[posicion];
			indice++;
		}
	}
 
	return arrayObjetos1;
}

Lo que veo es que los nombres te están confundiendo un poco, trata de ser un poco más especifico al momento de declarar tus nombres... De esa manera sabes cual arreglo es la entrada y cual arreglo es la salida, además que recordemos que tu objeto se llama Pasajero no Pasajeros; es decir, sin la s al final.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 41
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Acceder a un atributo de un array de objetos.

Publicado por Francisco Tomás (14 intervenciones) el 18/11/2019 21:19:18
Tienes toda la razón, tengo que tomarme esto con más paciencia, al final me lío yo mismo.

Muchísimas gracías por tu aportación, está super clara, estoy un poco frustrado de no haber podido resolverlo yo solo pero, en fin no espero poder hacerlo todo a la primera, vendrá con las experiecias.

De nuevo Muchas gracias por ayudarme, sois una comunidad estupenda, y espero poder ayudaros también pronto.

Un saludo.
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