0% encontró este documento útil (0 votos)
16 vistas7 páginas

Gestión de Gastos en Java

Cargado por

u24220146
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas7 páginas

Gestión de Gastos en Java

Cargado por

u24220146
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 DOCX, PDF, TXT o lee en línea desde Scribd

MAIN

/*

* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-
[Link] to change this license

* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link]
to edit this template

*/

package [Link].hey_go;

import [Link];

/**

* @author Gerson

*/

public class AppHEY {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

Scanner sc = new Scanner([Link]);

int opc;

Gasto gasto = new Gasto();

do {

[Link]("Menú Principal");

[Link]("1 | Registrar Gasto");


[Link]("2 | Mostrar Gasto");

[Link]("9 | Salir");

opc = [Link]();

switch (opc) {

case 1 ->

[Link]();

case 2 ->

[Link]();

case 9 ->

[Link]("Saliendo del sistema...");

default ->

[Link]("Opción no implemantada.");

} while (opc != 9);

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>
>>>>>>>>>>>>>>>>>>>>>>><

/*

* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-
[Link] to change this license

* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link]
to edit this template

*/

package [Link].hey_go;
import [Link];

/**

* @author Gerson

*/

public abstract class OperacionFinanciera implements


ValidacionOperacion {

protected double monto;

protected int mes; // 1 a 12

protected String descripcion;

protected int categoria; // categoría numérica

protected Scanner sc = new Scanner([Link]);

// Método para registrar datos comunes

public void registrarOperacion() {

do {

[Link]("Ingrese el monto del gasto:");

monto = [Link]();

} while (!validarMonto(monto));

do {

[Link]("Ingrese el mes (1-12) al que


corresponde:");

mes = [Link]();

} while (!validarMes(mes));

[Link]("¿Desea ingresar descripción? 1|Sí 2|No");


int opc = [Link]();

[Link](); // limpiar buffer

if (opc == 1) {

[Link]("Ingrese la descripción:");

descripcion = [Link]();

} else {

descripcion = "Sin descripción";

// Método abstracto: cada hijo mostrará su información

public abstract void mostrarOperacion();

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>
>>>>>>>>>>>>>>>>>>>>>>><

/*

* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-
[Link] to change this license

* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link]
to edit this template

*/

package [Link].hey_go;

/**

* @author Gerson

*/

public interface ValidacionOperacion {


// Validar que el monto sea correcto (ej: mayor a 0)

public boolean validarMonto(double monto);

// Validar que el mes esté en el rango permitido (1-12)

public boolean validarMes(int mes);

// Validar que la categoría sea válida (depende del tipo de


operación)

public boolean validarCategoria(int categoria);

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>
>>>>>>>>>>>>>>>>>>>>>>><

/*

* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-
[Link] to change this license

* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link]
to edit this template

*/

package [Link].hey_go;

/**

* @author Gerson

*/

public class Gasto extends OperacionFinanciera {

private static final String[] categorias = {"Alimentación",


"Transporte", "Servicios", "Otros"};

@Override

public boolean validarMonto(double monto) {


if (monto > 0) {

return true;

} else {

[Link]("Monto inválido. Debe ser mayor a 0.");

return false;

@Override

public boolean validarMes(int mes) {

if (mes >= 1 && mes <= 12) {

return true;

} else {

[Link]("Mes inválido. Ingrese un valor entre 1 y


12.");

return false;

@Override

public boolean validarCategoria(int categoria) {

if (categoria >= 1 && categoria <= [Link]) {

return true;

} else {

[Link]("Categoría inválida. Elija entre 1 y " +


[Link]);

return false;

}
public void registrarGasto() {

registrarOperacion(); // Llama lo común de la clase padre

int opcion;

do {

[Link]("Seleccione la categoría:");

for (int i = 0; i < [Link]; i++) {

[Link]((i + 1) + ". " + categorias[i]);

opcion = [Link]();

} while (!validarCategoria(opcion));

categoria = opcion;

@Override

public void mostrarOperacion() {

[Link]("======= GASTO REGISTRADO


=======");

[Link]("Monto: " + monto);

[Link]("Mes: " + mes);

[Link]("Categoría: " + categorias[categoria - 1]);

[Link]("Descripción: " + descripcion);

[Link]("==============================
==");

También podría gustarte