Programación en Java: Gestión de Compras, Registro de Estudiantes y Ejercicios Resueltos
Gestión de compras de estudiantes en Java
Declaración y dimensionamiento
int[] M = new int[1000];
Botón nuevo
Se lee el número y se verifica si hay espacio disponible:
int numero = leeNumero();
if (n < 1000) {
// adicional (especialidad, ...)
mensaje("Registro correcto");
} else {
mensaje("No hay espacio");
}Método adiciona
void adiciona(int a, int b, ...) {
esp[n] = a;
// ...
n++;
}Mostrar todas las compras de la lista 1
Botón lista1:
int cont = 0;
double suma = 0;
int e = leeEspecialidad();
for (int i = 0; i < n; i++) {
if (esp[i] == e) {
imprime(esp[i] + "\t" + gen[i] + "...");
cont++;
suma += monto[i];
}
}
imprime("Cantidad: " + cont);
imprime("Monto vendido: " + suma);Todas las compras realizadas por los estudiantes (lista 2)
Botón lista2:
int cantH = 0;
double montoH = 0;
int cantF = 0;
double montoF = 0;
int m = leeMes();
for (int i = 0; i < n; i++) {
if (mes[i] == m) {
imprime(esp[i] + "\t" + ...);
if (sen[i] == 1) {
cantH++;
montoH += monto[i];
} else {
cantF++;
montoF += monto[i];
}
}
}Grabar en archivo de texto
Se guardan los datos en el archivo compras.txt:
String especialidad, genero;
double monto;
try {
PrintWriter pw = new PrintWriter(new FileWriter("compras.txt"));
for (int i = 0; i < n; i++) {
especialidad = esp[i];
// ...
String contenido = especialidad + ";" + genero + ";" + ...;
pw.println(contenido);
}
pw.close();
} catch (IOException e) {
e.printStackTrace();
}Desarrollo de ejercicios
1. Conversión de capital a soles
double capitalEnSoles(double soles, double dolares, double euros) {
double rpta;
rpta = soles + dolares * 2.85 + euros * 0.75 * 2.85;
return rpta;
}2. Suma de cifras
int sumaCifras(int n) {
int rpta;
int u, d, c;
u = n % 10;
n = n / 10;
d = n % 10;
c = n / 10;
rpta = u + d + c;
return rpta;
}3. Cantidad de cifras
int cantidadCifras(int n) {
int c = 0;
while (n > 0) {
c++;
n = n / 10;
}
return c;
}4. Notas y promedios
void notas(int n) {
int n1, n2, n3, n4, menor;
double prom, mayorProm, menorProm;
for (int i = 1; i <= n; i++) {
n1 = aleatorio(0, 20);
n2 = aleatorio(0, 20);
n3 = aleatorio(0, 20);
n4 = aleatorio(0, 20);
// Llamada al método notaMenor
menor = notaMenor(n1, n2, n3, n4);
prom = (n1 + n2 + n3 + n4 - menor) / 3;
// Encuentra el mayor y menor promedio
if (i == 1) {
mayorProm = prom;
menorProm = prom;
} else {
if (prom > mayorProm) mayorProm = prom;
if (prom < menorProm) menorProm = prom;
}
muestra(menor, prom, mayorProm, menorProm);
// Actualiza acumulador y contadores globales
sumaProm = sumaProm + prom;
if (prom >= 10.5) contAprob++;
else contDesaprob++;
}
// Muestra resultados globales
imprime("Promedio de promedios: " + (sumaProm / n));
imprime("Cantidad de aprobados: " + contAprob);
imprime("Cantidad de desaprobados: " + contDesaprob);
}
int aleatorio(int vMin, int vMax) {
int rpta;
rpta = (int)(Math.random() * (vMax - vMin + 1) + vMin);
return rpta;
}
int notaMenor(int n1, int n2, int n3, int n4) {
int rpta = n1;
if (n2 < rpta) rpta = n2;
if (n3 < rpta) rpta = n3;
if (n4 < rpta) rpta = n4;
return rpta;
}5. Serie matemática
void serie(int n) {
int num = 7, den = 2;
double suma = 0;
for (int t = 1; t <= n; t++) {
txtSalida.append(num + " / " + den + ", ");
suma = suma + num * 1.0 / den;
num++;
den += 2;
}
txtSalida.append("La suma es: " + suma + "\n");
}Recursos adicionales
Enlaces de referencia (revisar antes de usar):