0% encontró este documento útil (0 votos)
9 vistas15 páginas

Gestión de Notas y Productos en Java

El documento describe tres ejercicios de programación en Java para gestionar datos en archivos de texto: uno para gestionar notas de estudiantes, otro para un inventario de productos y el último para la gestión de usuarios. Cada ejercicio incluye especificaciones técnicas, ejemplos de contenido de archivos y la implementación de clases con métodos para consultar, insertar, modificar y eliminar datos. Se proporcionan ejemplos de código para cada clase, mostrando cómo interactuar con los archivos correspondientes.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas15 páginas

Gestión de Notas y Productos en Java

El documento describe tres ejercicios de programación en Java para gestionar datos en archivos de texto: uno para gestionar notas de estudiantes, otro para un inventario de productos y el último para la gestión de usuarios. Cada ejercicio incluye especificaciones técnicas, ejemplos de contenido de archivos y la implementación de clases con métodos para consultar, insertar, modificar y eliminar datos. Se proporcionan ejemplos de código para cada clase, mostrando cómo interactuar con los archivos correspondientes.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

JAVA 3

Ejercicio 1: Gestión de Notas de Estudiantes


Enunciado

Vamos a desarrollar un programa que gestione las notas de estudiantes almacenadas en


un fichero [Link].

El sistema permitirá:

 Consultar todas las notas guardadas en el archivo.


 Insertar nuevas notas de estudiantes.
 Modificar la nota de un estudiante existente.
 Eliminar la nota de un estudiante.

Cada línea del fichero tendrá el formato: Nombre;Nota

Ejemplo de contenido del fichero:

Ana;9.5

Carlos;8.0

Lucía;7.8

Especificación técnica

Clase GestorNotas

 Atributos:
o String nombreArchivo
 Métodos:
o void consultarNotas(): Lee y muestra el contenido del archivo.
o void insertarNota(String nombre, double nota): Agrega un
nuevo estudiante al archivo.
o void modificarNota(String nombre, double nuevaNota): Busca
un estudiante y cambia su nota.
o void eliminarNota(String nombre): Elimina una línea específica del
archivo.
Solución:
import [Link].*;
import [Link].*;

public class GestorNotas {


private String nombreArchivo;

// Constructor
public GestorNotas(String nombreArchivo) {
[Link] = nombreArchivo;
}

// Consultar las notas en el archivo


public void consultarNotas() {
try (BufferedReader br = new BufferedReader(new
FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
[Link](linea);
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}
}

// Insertar una nueva nota en el archivo


public void insertarNota(String nombre, double nota) {
try (FileWriter fw = new FileWriter(nombreArchivo, true);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw)) {
[Link](nombre + ";" + nota);
} catch (IOException e) {
[Link]("Error al escribir en el archivo.");
}
}

// Modificar una nota existente


public void modificarNota(String nombre, double nuevaNota) {
List<String> lineas = new ArrayList<>();
boolean encontrado = false;

try (BufferedReader br = new BufferedReader(new


FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
if ([Link](nombre + ";")) {
[Link](nombre + ";" + nuevaNota);
encontrado = true;
} else {
[Link](linea);
}
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}
if (encontrado) {
escribirArchivo(lineas);
} else {
[Link]("Estudiante no encontrado.");
}
}

// Eliminar una nota


public void eliminarNota(String nombre) {
List<String> lineas = new ArrayList<>();

try (BufferedReader br = new BufferedReader(new


FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
if (![Link](nombre + ";")) {
[Link](linea);
}
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}

escribirArchivo(lineas);
}

// Método auxiliar para reescribir el archivo con los cambios


private void escribirArchivo(List<String> lineas) {
try (BufferedWriter bw = new BufferedWriter(new
FileWriter(nombreArchivo))) {
for (String linea : lineas) {
[Link](linea);
[Link]();
}
} catch (IOException e) {
[Link]("Error al escribir en el archivo.");
}
}

// Clase principal para probar el sistema


public static void main(String[] args) {
GestorNotas gestor = new GestorNotas("[Link]");

[Link]("Pedro", 7.5);
[Link]();

[Link]("Carlos", 9.2);
[Link]();

[Link]("Lucía");
[Link]();
}
}
Ejercicio 2: Inventario de Productos en un Fichero
Enunciado

Vamos a desarrollar un programa para administrar el inventario de productos de una


tienda.

El sistema permitirá:

 Consultar el inventario guardado en [Link].


 Insertar nuevos productos.
 Modificar el precio de un producto.
 Eliminar un producto del inventario.

Cada línea del fichero tendrá el formato: Producto;Precio;Cantidad

Ejemplo de contenido del archivo:

Laptop;1200;5
Smartphone;800;10
Tablet;400;8

Especificación técnica

Clase InventarioProductos

 Atributos:
o String nombreArchivo
 Métodos:
o void consultarInventario(): Lee y muestra el contenido del archivo.
o void insertarProducto(String nombre, double precio, int
cantidad): Agrega un nuevo producto al archivo.
o void modificarPrecio(String nombre, double nuevoPrecio):
Busca un producto y cambia su precio.
o void eliminarProducto(String nombre): Elimina un producto del
archivo.
Solución en código

import [Link].*;
import [Link].*;

public class InventarioProductos {


private String nombreArchivo;

// Constructor
public InventarioProductos(String nombreArchivo) {
[Link] = nombreArchivo;
}

// Consultar el inventario desde el archivo


public void consultarInventario() {
try (BufferedReader br = new BufferedReader(new
FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
[Link](linea);
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}
}

// Insertar un nuevo producto en el archivo


public void insertarProducto(String nombre, double precio, int cantidad) {
try (FileWriter fw = new FileWriter(nombreArchivo, true);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw)) {
[Link](nombre + ";" + precio + ";" + cantidad);
} catch (IOException e) {
[Link]("Error al escribir en el archivo.");
}
}

// Modificar el precio de un producto existente


public void modificarPrecio(String nombre, double nuevoPrecio) {
List<String> lineas = new ArrayList<>();
boolean encontrado = false;

try (BufferedReader br = new BufferedReader(new


FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
String[] datos = [Link](";");
if (datos[0].equalsIgnoreCase(nombre)) {
[Link](nombre + ";" + nuevoPrecio + ";" + datos[2]);
encontrado = true;
} else {
[Link](linea);
}
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}
if (encontrado) {
escribirArchivo(lineas);
} else {
[Link]("Producto no encontrado.");
}
}

// Eliminar un producto del archivo


public void eliminarProducto(String nombre) {
List<String> lineas = new ArrayList<>();

try (BufferedReader br = new BufferedReader(new


FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
String[] datos = [Link](";");
if (!datos[0].equalsIgnoreCase(nombre)) {
[Link](linea);
}
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}

escribirArchivo(lineas);
}
// Método auxiliar para reescribir el archivo con los cambios
private void escribirArchivo(List<String> lineas) {
try (BufferedWriter bw = new BufferedWriter(new
FileWriter(nombreArchivo))) {
for (String linea : lineas) {
[Link](linea);
[Link]();
}
} catch (IOException e) {
[Link]("Error al escribir en el archivo.");
}
}

// Clase principal para probar el sistema


public static void main(String[] args) {
InventarioProductos inventario = new
InventarioProductos("[Link]");

[Link]("Televisor", 600, 7);


[Link]();

[Link]("Laptop", 1100);
[Link]();

[Link]("Tablet");
[Link]();
}
}
Ejercicio 3: Gestión de Usuarios en un Archivo
Enunciado

Vamos a desarrollar un programa que permita gestionar usuarios almacenados en un


fichero [Link].

El sistema permitirá:

1. Consultar todos los usuarios guardados en el archivo.


2. Insertar nuevos usuarios.
3. Modificar la edad de un usuario existente.
4. Eliminar un usuario del archivo.

Cada línea del fichero tendrá el formato: Usuario;Edad;Email

Ejemplo de contenido del fichero:

Juan;25;juan@[Link]
Ana;30;ana@[Link]
Pedro;22;pedro@[Link]

Especificación técnica

Clase GestorUsuarios

 Atributos:
o String nombreArchivo
 Métodos:
o void consultarUsuarios(): Lee y muestra el contenido del archivo.
o void insertarUsuario(String nombre, int edad, String
email): Agrega un nuevo usuario al archivo.
o void modificarEdadUsuario(String nombre, int nuevaEdad):
Busca un usuario y cambia su edad.
o void eliminarUsuario(String nombre): Elimina una línea específica
del archivo.
Solución en código

import [Link].*;
import [Link].*;

public class GestorUsuarios {


private String nombreArchivo;

// Constructor
public GestorUsuarios(String nombreArchivo) {
[Link] = nombreArchivo;
}

// Consultar los usuarios en el archivo


public void consultarUsuarios() {
try (BufferedReader br = new BufferedReader(new
FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
[Link](linea);
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}
}

// Insertar un nuevo usuario en el archivo


public void insertarUsuario(String nombre, int edad, String email) {
try (FileWriter fw = new FileWriter(nombreArchivo, true);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw)) {
[Link](nombre + ";" + edad + ";" + email);
} catch (IOException e) {
[Link]("Error al escribir en el archivo.");
}
}

// Modificar la edad de un usuario existente


public void modificarEdadUsuario(String nombre, int nuevaEdad) {
List<String> lineas = new ArrayList<>();
boolean encontrado = false;

try (BufferedReader br = new BufferedReader(new


FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
String[] datos = [Link](";");
if (datos[0].equalsIgnoreCase(nombre)) {
[Link](nombre + ";" + nuevaEdad + ";" + datos[2]);
encontrado = true;
} else {
[Link](linea);
}
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}
if (encontrado) {
escribirArchivo(lineas);
} else {
[Link]("Usuario no encontrado.");
}
}

// Eliminar un usuario del archivo


public void eliminarUsuario(String nombre) {
List<String> lineas = new ArrayList<>();

try (BufferedReader br = new BufferedReader(new


FileReader(nombreArchivo))) {
String linea;
while ((linea = [Link]()) != null) {
String[] datos = [Link](";");
if (!datos[0].equalsIgnoreCase(nombre)) {
[Link](linea);
}
}
} catch (IOException e) {
[Link]("Error al leer el archivo.");
}

escribirArchivo(lineas);
}
// Método auxiliar para reescribir el archivo con los cambios
private void escribirArchivo(List<String> lineas) {
try (BufferedWriter bw = new BufferedWriter(new
FileWriter(nombreArchivo))) {
for (String linea : lineas) {
[Link](linea);
[Link]();
}
} catch (IOException e) {
[Link]("Error al escribir en el archivo.");
}
}

// Clase principal para probar el sistema


public static void main(String[] args) {
GestorUsuarios gestor = new GestorUsuarios("[Link]");

[Link]("Maria", 28, "maria@[Link]");


[Link]();

[Link]("Ana", 35);
[Link]();

[Link]("Pedro");
[Link]();
}
}

También podría gustarte