Desarrollo de Aplicaciones Java: Ejemplos Prácticos de Consola

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,69 KB

Este documento presenta dos proyectos de programación en Java, ideales para comprender conceptos fundamentales como la interacción con el usuario, el manejo de datos y las estructuras de control. Se incluyen los códigos fuente completos para una calculadora interactiva y un sistema de facturación básico.

Proyecto 1: Calculadora Interactiva (Ejercicio 12)

Descripción: Implementación de una calculadora básica en Java que permite al usuario realizar operaciones aritméticas (suma, resta, multiplicación, división) y decidir cuándo finalizar el programa.

Fecha de Creación: 18 de junio de 2014

Autor: Massuh Jael

Código Fuente de la Calculadora

package javaapplication30;

import java.util.Scanner;

/**

Ejercicio: 12

Descripción: Realizar una Calculadora y que finalice cuando el usuario lo desee.

Fecha: 18 de junio de 2014

Autor: Massuh Jael */ public class JavaApplication30 { /**

@param args the command line arguments */ public static void main(String[] args) { Scanner operaciones = new Scanner(System.in); int suma = 0, resta = 0, multiplicacion = 0, division = 0; int valor1 = 0, valor2 = 0, opcion = 0, continuar = 0; // 'continuar' no se usa, pero se mantiene por originalidad String repite = "S"; String sigue = "";

do { System.out.printf("Elija de las siguientes opciones:\n"); System.out.printf(" 1 = Suma \n"); System.out.printf(" 2 = Resta \n "); System.out.printf(" 3 = Multiplicación \n"); System.out.printf(" 4 = División \n"); System.out.println("¿Qué operación desea resolver?"); opcion = operaciones.nextInt();

 System.out.println("Ingrese el primer valor:");
 valor1 = operaciones.nextInt();
 System.out.println("Ingrese el segundo valor:");
 valor2 = operaciones.nextInt();

 if (opcion == 1) {
     suma = valor1 + valor2;
     System.out.printf("El resultado de la suma es %d\n", suma);
 } else {
     if (opcion == 2) {
         resta = valor1 - valor2;
         System.out.printf("El resultado de la resta es %d\n", resta);
     } else {
         if (opcion == 3) {
             multiplicacion = valor1 * valor2;
             System.out.printf("El resultado de la multiplicación es %d\n", multiplicacion);
         } else {
             if (opcion == 4) {
                 division = valor1 / valor2;
                 System.out.printf("El resultado de la división es %d\n", division);
             }
         }
     }
 }
 System.out.println("¿Desea continuar con la operación (S o N)?");
 sigue = operaciones.nextLine(); // Consume el salto de línea pendiente
 sigue = operaciones.nextLine(); // Lee la entrada del usuario

} while (repite.equals(sigue)); } }

Nota sobre el código de la calculadora: El código original utiliza una estructura anidada de if-else para las operaciones, que podría simplificarse con if-else if. La validación de división por cero no está implementada en el código original. La condición de continuación repite.equals(sigue) es sensible a mayúsculas y minúsculas.

Proyecto 2: Sistema de Facturación Simple (Ejercicio 14)

Descripción: Programa en Java que calcula el total de una factura a partir de un subtotal, aplicando un 12% de IVA. Incluye una validación básica para asegurar que el subtotal ingresado sea positivo y lleva un registro del número de facturas generadas y el gran total acumulado.

Fecha de Creación: 26 de junio de 2014

Autor: Massuh Jael

Código Fuente del Sistema de Facturación

package javaapplication32;

import java.util.Scanner;

/**

Ejercicio: 14

Descripción: Realizar un programa que muestre una factura por medio de un subtotal.

*Validar solo para ingresar números Positivos.

Fecha: 26 de junio de 2014

Autor: Massuh Jael */ public class JavaApplication32 { /**

@param args the command line arguments */ public static void main(String[] args) { Scanner factura = new Scanner(System.in); String repite = "S"; String sigue = ""; int total = 0, iva = 12, v_iva = 0, subtotal = 0; int contador = 0, grantotal = 0;

do { System.out.println("Ingrese un subtotal:"); subtotal = factura.nextInt();

 if (subtotal >= 0) {
     System.out.printf(""); // Línea vacía del código original
 } else {
     System.out.printf("Debe asignar un número positivo.\n");
     System.out.println("Ingrese un subtotal:");
     subtotal = factura.nextInt();
 }

 v_iva = subtotal * iva / 100;
 total = iva + subtotal; // Cálculo del total según el código original

 System.out.printf("*****************************\n");
 System.out.printf("        Factura              \n");
 System.out.printf("Su subtotal es = %d\n", subtotal);
 System.out.printf("Su valor iva es = %d\n", v_iva);
 System.out.printf("Su total es = %d\n", total);
 System.out.printf("*****************************\n");

 contador = contador + 1;
 grantotal = grantotal + total;

 System.out.println("¿Desea continuar (S o N)?");
 sigue = factura.nextLine(); // Consume el salto de línea pendiente
 sigue = factura.nextLine(); // Lee la entrada del usuario

} while (repite.equals(sigue));

System.out.printf("Hay %d facturas.\n", contador); System.out.printf("El gran total es %d\n", grantotal); } }

Nota sobre el código de facturación: El cálculo del total (total = iva + subtotal;) en el código original es incorrecto para una factura estándar; debería ser subtotal + v_iva. La validación de entrada para números positivos solo re-solicita el valor una vez si el primero es negativo, sin asegurar una entrada válida. La condición de continuación repite.equals(sigue) es sensible a mayúsculas y minúsculas.

Entradas relacionadas: