Java - Comparar 2 vectores guardados en una clase.

 
Vista:

Comparar 2 vectores guardados en una clase.

Publicado por Vicente (5 intervenciones) el 06/12/2012 12:09:01
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
/*
 *Main
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejercicio16;
 
/**
 *
 * @author vfernandez se desea realizar una clase Vector3d que permira manipular
 * vectores de tres componentes (coordenadas x, y, z) de acuerdo a las
 * siguientes normas:
 *
 *
 * Solo posee un metodo constructor. Tiene un metodo miembro igual que permite
 * saber si dos vectores tienen sus componentes o coordenadas iguales.
 */
public class Inicio {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
 
        Vector3d[] v1 = new Vector3d[2];
        int vc1[] = new int[2], vc2[] = new int[2];
        for (int i = 0; i < v1.length; i++) {
            v1[i] = new Vector3d();
            v1[i].introducirDatos();
        }
        for(int i=0; i<v1.length; i++){
            v1[i].devolverDatos();
        }
 
    }
}
 
 
 
 
 
/*
 * Clase Vector3d
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejercicio16;
 
import java.util.Scanner;
 
/**
 *
 * @author vfernandez
 */
public class Vector3d {
 
    private int x, y, z;
 
    Vector3d() {
        x = 0;
        y = 0;
        z = 0;
    }
 
    public void introducirDatos() {
        Scanner teclado;
        teclado = new Scanner(System.in);
 
        System.out.println("Introduce la x: ");
        x = teclado.nextInt();
        System.out.println("Introduce la y: ");
        y = teclado.nextInt();
        System.out.println("Introduce la z: ");
        z = teclado.nextInt();
 
    }
 
    public int getX() {
        return x;
    }
 
    public int getY() {
        return y;
    }
 
    public int getZ() {
        return z;
    }
    public void devolverDatos(){
        System.out.println(x+" "+y+" "+z);
    }
 
    public void igual() {
 
    }
}


Querría comparar los 2 vectores introducidos para saber si sus componentes son iguales.
He realizado así el programa porque es como mi profesor quiere.
Sería compararlos desde main, pero es que no se como hacerlo.
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

Comparar 2 vectores guardados en una clase.

Publicado por kostablanca (3 intervenciones) el 06/12/2012 12:33:24
El método igual() debería tener un parámetro que fuese un vector y debería devolver un tipo Boolean Dentro del método, compararÍas los atributos x, y, z del objeto con los del parámetro:


public Boolean igual(Vector3d v){
return ( (x == v.getX()) && (y == v.getY()) && (z == v.getZ()));
}


Todo esto me parece demasiado obvio... no sé si no habré entendido bien tu problema.
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

Comparar 2 vectores guardados en una clase.

Publicado por Vicente (5 intervenciones) el 06/12/2012 13:11:14
Pues la verdad no entiendo eso mucho xD. Puede ser que sea muy obvio xD, pero estas cosas pasan cuando tienes un profesor que no te explica nada y lo único que te hace es liarte mas xD

Yo lo que quiero es:

En el main voy introduciendo tantos vectores (x, y, z) como quiera y luego los muestro.

Lo que quiero saber es que si introduzco 5 por ejemplo. Que tenga una función que me diga si el v[0] es igual al vector v[1], v[2], etc

En eso que me has puesto no se evaluaría solo la x, y, z de 1 solo vector?

Gracias de todas formas y perdón por mi torpeza


Seria algo asi pero en un metodo:


1
2
3
4
5
6
7
if(v1[0].getX()==v1[1].getX()){
            if(v1[0].getY()==v1[1].getY()){
                if(v1[0].getZ()==v1[1].getZ()){
                    System.out.println("Son iguales");
                }
            }
        }
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