Avanzar en Java no solo significa dominar la sintaxis básica, sino también aprender a trabajar con archivos y estructuras de datos complejas de manera eficiente. Este artículo presenta ejercicios prácticos que ayudan a profundizar el conocimiento y la habilidad en la manipulación de archivos, estructuras de control avanzadas y programación orientada a objetos, esenciales para cualquier desarrollador que busque enfrentar retos más complejos.
Ejercicio 1: Gestión de Registros de Archivos de Texto
Objetivo: Aprender a leer y modificar contenido de archivos de texto en situaciones prácticas.
Descripción: Desarrolla un programa que lea un archivo de texto que contiene registros de estudiantes (nombre, edad, carrera) y permita al usuario agregar nuevos registros y buscar registros existentes.
Código de ejemplo:
import java.io.*;
import java.util.Scanner;
public class StudentRecords {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String filePath = "students.txt";
System.out.println("1. Agregar estudiante\n2. Buscar estudiante");
int choice = scanner.nextInt();
scanner.nextLine(); // consume newline
switch (choice) {
case 1:
System.out.println("Ingrese nombre, edad, carrera:");
String newStudent = scanner.nextLine();
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true))) {
writer.write(newStudent);
writer.newLine();
System.out.println("Estudiante agregado.");
} catch (IOException e) {
System.err.println("Error al escribir en el archivo.");
}
break;
case 2:
System.out.println("Ingrese nombre del estudiante a buscar:");
String nameToFind = scanner.nextLine();
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
boolean found = false;
while ((line = reader.readLine()) != null) {
if (line.contains(nameToFind)) {
System.out.println("Registro encontrado: " + line);
found = true;
}
}
if (!found) {
System.out.println("Estudiante no encontrado.");
}
} catch (IOException e) {
System.err.println("Error al leer el archivo.");
}
break;
default:
System.out.println("Opción no válida.");
break;
}
}
}
Ejercicio 2: Creación y Manipulación de Archivos CSV
Objetivo: Utilizar Java para trabajar con datos en formato CSV, realizar análisis y generar reportes.
Descripción: Escribe un programa que lea datos de un archivo CSV, calcule el promedio de un campo numérico específico y guarde el resultado en un nuevo archivo.
Código de ejemplo:
import java.io.*;
import java.nio.file.*;
import java.util.List;
public class CSVAnalyzer {
public static void main(String[] args) {
Path csvPath = Paths.get("data.csv");
Path outputPath = Paths.get("output.csv");
try {
List<String> lines = Files.readAllLines(csvPath);
double total = 0;
int count = 0;
for (String line : lines) {
String[] columns = line.split(",");
total += Double.parseDouble(columns[1]); // Suponiendo que la columna de interés es la segunda
count++;
}
double average = total / count;
String output = "Promedio: " + average;
Files.write(outputPath, output.getBytes());
System.out.println("Análisis completado. Resultados guardados en " + outputPath);
} catch (IOException e) {
System.err.println("Error al procesar el archivo CSV.");
}
}
}
Conclusión
Estos ejercicios representan desafíos prácticos que no solo refuerzan la capacidad de manejar archivos y datos en Java, sino que también equipan a los desarrolladores con habilidades esenciales para enfrentar problemas complejos en el mundo real. Al dominar estas técnicas, se preparan para contribuir eficazmente en entornos de desarrollo profesional y avanzar en sus carreras técnicas.
… … …
¡Coméntanos que te ha parecido este artículo al final de la página!
TÚ OPINIÓN IMPORTA
NUESTRAS ÚLTIMAS PUBLICACIONES
- Artículo: Funciones esenciales de C para la manipulación de cadenas: fgets, strlen, stdin, y más
- Uso de la Clase DAO sin Interfaces en Java: Ejemplo de Gestión de Trabajadores
- Uso de DAO en Java: Simplificando el Acceso a Datos con el Patrón DAO
- Guía Completa para la Creación de Gramáticas en JFLAP: Ejercicios y Soluciones
- Generación de Lenguajes en JFLAP con Gramáticas: Ejercicios y Estrategias
- Máquinas de Turing y Enumeración de Números Binarios: Diseño y Funcionamiento en JFLAP
- Generación de Documentación en C++ con Doxygen: Guía Completa
- La importancia de separar sustantivos, adjetivos y verbos en programación y bases de datos
- Entendiendo los Símbolos de Lenguajes y Autómatas en Computación
Contenido restringido
Comments are closed