Java - como guardar un arreglo de objetos en una variable

 
Vista:
sin imagen de perfil

como guardar un arreglo de objetos en una variable

Publicado por miguel (1 intervención) el 18/08/2017 21:09:19
buenas tardes lo siguiente era para preguntar como puedo guardar un vector que creé de tipo objeto, es decir creé una clase y esa clase la implemente en un vector para que me guardara datos de ese tipo, pero a la hora de saber cual valor es mayors dentro del vector, nose como guardar la posicion [0] del vector en una variable, ya que el vector es del tipo de la clase que cree pero lo que me guarda son doubles, y cuando quiero crear la variable para hacer la comparacion me aparece una excepcion.
este es el codigo:


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
package circunferencias;
 
 
import java.util.*;
import java.math.*;
 
public class Circunferencias {
    //atributos
    private double radio;
    public static int i=0;
 
    //metodo constructor
 
    public Circunferencias(double r) {
        this.radio=r; //asigna valor al atributo
    }
 
    public double CalcularArea(){
        double area= Math.PI*Math.pow(radio, 2);
        return area;
    }
 
    public double CalcularDiametro(){
        double d=2*radio;
        return d;
    }
 
    public double CalcularPerimetro(){
        double p= 2*Math.PI*radio;
        return p;
    }
    public void Mostrar(){
        System.out.println("\nradio"+this.radio);
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        double r, Acum;
        Scanner lea=new Scanner(System.in);
        int opc,p;
 
        Circunferencias c;
        Circunferencias vector[]= new Circunferencias[3];
 
       Acum = vector[i].CalcularArea(); //-------->>>>>>>>>> //AQUI ESTA EL PROBLEMA, LO QUIERO DECLARAR,
 
PERO ME GENERA UNA EXCEPCION YA QUE AL DARLE .CalcularArea() ESTOY LLAMANDO AL METODO QUE VA A LLENAR CON LOS VALORES DE AREA LAS POSICIONES DEL VECTOR, ES DECIR EL RADIO 1 ME DA UNA AREA, EL RADIO 2 ME DA OTRA, ESTE LO HICE SOLO PARA 3 AREAS////
 
 
 
 
 
        System.out.println("Escoja la opcion 0. Crear Cincunferencias"
                + "\n1. Calcular Area \n2 Perimetro"
                + "\n3 Diametro \n4 Comparar \n5. Salir");
        opc=lea.nextInt();
 
        while(opc!=5){
            if(opc==0){
                System.out.println("Ingrese valor del radio");
                r=lea.nextDouble();
                //instanciamos el objeto
                c= new Circunferencias(r);
                vector[i]=c;
                i++;
 
            }
            if(opc==1){
                System.out.println("indique la posicion");
                p=lea.nextInt();
                System.out.println(vector[p].CalcularArea());
            }
            else if(opc==2){
                System.out.println("indique la posicion");
                p=lea.nextInt();
                System.out.println(vector[p].CalcularPerimetro());
            }
            else if(opc==3){
                 System.out.println("indique la posicion");
                p=lea.nextInt();
                System.out.println(vector[p].CalcularDiametro());
            }
            else if(opc==4){
 
                        for(int j=0;j<vector.length;j++){
                   // System.out.println("posicion"+j+"\t");vector[j].Mostrar();
 
                    if(vector[j].CalcularArea()> Acum){
 
                        Acum = vector[j].CalcularArea(); ----> METODO DE BUSQUEDAD DEL VECTOR, AQUI ES DONDE TENGO LAS INTERROGANTES
 
                    }
 
                    System.out.println(Acum);
                }
 
 
            }
            System.out.println("Escoja la opcion"
                + "\n1. Calcular Area \n2 Perimetro"
                + "\n3 Diametro \n4 Comparar \n5. Salir");
        opc=lea.nextInt();
        }
    }
 
}
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