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.