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:
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
0