CLASES ANIDADAS - BIBLIOTECA-LIBRO
Publicado por Gabriel (3 intervenciones) el 12/03/2019 04:25:56
POR FAVOR ALGUIEN QUE ME PUEDA AYUDAR, YA LLEVO DIAS INTENTANDO SOLUCIONAR ESTE CÓDIGO...
ME PIDIERON HACER UNA CLASE CON ANIDAMIENTO...
"ANIDAMIENTO FORMAL BIBLIOTECA Y LIBRO"
NECESITO HACER EL CÓDIGO PARECIDO A ESTE QUE SE MUESTRA AQUÍ ABAJO
ME PIDIERON HACER UNA CLASE CON ANIDAMIENTO...
"ANIDAMIENTO FORMAL BIBLIOTECA Y LIBRO"
NECESITO HACER EL CÓDIGO PARECIDO A ESTE QUE SE MUESTRA AQUÍ ABAJO
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
/*
EJEMPLO QUE MUESTRA EL ANIDAMIENTO FORMAL DE CLASES INCLUYENDO ARREGLOS DE OBJS.
*/
package aniformal;
import java.io.IOException;
// CLASE EXTERNA
class Alumno
{
private int grado;
public long matri;
// clase independiente
class Persona
{
public String nomb;
private int edad;
public char sexo;
//constructor
public Persona(String n, int e, char s)
{
nomb=n;
edad=e;
sexo=s;
}
public void cifraedad(int clave)
{
edad=edad ^ clave;
}
public void exhibeinf(int clave)
{
int x;
x=edad^clave;
System.out.println("Datos...");
System.out.printf("\n Nomb : %s \t Edad cifrada : %d \t Edad descifrada : %d \t Sexo : %c",nomb,edad,x,sexo);
}
}
// ANIDAMIENTO FORMAL
public Persona misdatos; // referencia a objetos de otra clase
public Alumno(int g, long m,String n, int e, char s,int c)
{
grado=g;
matri=m;
misdatos=new Persona(n,e,s); //crea objeto anidado
misdatos.cifraedad(c);
}
public void exhibealumno(int c)
{
System.out.println("\nDatos de alumno...");
System.out.printf("\n Grado : %d \t matricula :%d\n",grado,matri);
misdatos.exhibeinf(c); // datos personales de alumno
}
}
/**
*
* @author SATELLITE
*/
public class Aniformal {
/**
* @param args the command line arguments
*/
// con gestion de error en la cabecera
public static void main(String[] args) throws IOException {
// TODO code application logic here
// INVESTIGAR LA MANERA DE DECLARAR REFERENCIAS A OBJETOS DE CLASES
// ANIDADAS O INTERNAS EN EL TEMA INNER O NESTED CLASS DEL TUTORIAL
// DE LA PAGINA PRINCIPAL DE JAVA ...SI SE PUEDE!!!!!
// Persona perx; ERROR
//perx=new Persona("Solo es persona...",15,'h'); ERROR
// perx.cifraedad(77);
//perx.exhibeinf(77);
Alumno alx;
alx=new Alumno(4,7777,"Es alumno...", 20,'?',120);
alx.exhibealumno(120);
System.out.println("\nPulse Enter para continuar...");
System.in.read();
// Para el alumno alx también existe acceso a elementos públicos,
// a traves de misdatos
//alx.misdatos.
// procesa arreglo de objetos de una dimension
Alumno grupo[]; // para arr de referencias a objetos
grupo=new Alumno[20]; // crea 20 referencias a objetos
int g,e;
long matr;
String nomb="";
char s;
int []claves;
claves=new int[20];
//creacion de objetos
for(int i=0;i<grupo.length;i++)
{
//solicitar y/o generar informacion de alumnos
g=(int)(Math.random()*5+1); //genera aleatorio entre 1 y 5
e=(int)(Math.random()*15+40); // 1 ---> 55
matr=(long)(Math.random()*10000000+666666667);
claves[i]=(int)(Math.random()*500+100);
if ((i%2)==0) // si residuo =O es mujer, sino es hombre
{
s='F';
nomb="Karla... "+(i+1);
}
else
{
s='M';
nomb="Juan Perez..."+(i+1);
}
//crea cada objeto
grupo[i]=new Alumno(g, matr, nomb, e, s,claves[i]);
}
System.out.println("\n\nCONTENIDO DEL GRUPO DE ALUMNOS...");
for (int i=0;i<grupo.length;i++)
{
System.out.println("\nAlumno No."+(i+1));
grupo[i].exhibealumno(claves[i]);
}
//Agregar instrucciones para Liberar recursos del arreglo de objetos
}
}
Valora esta pregunta


0