Última actualización: septiembre 24
En esta ocasión, propongo algunos ejercicios muy sencillos para practicar lo explicado sobre las entradas y salidas estándar: teclado y pantalla.
Ejercicio 1: Aplicar descuento
Codifica un programa que calcule el descuento de una compra. El programa pedirá al usuario que indique el precio del producto, el número de unidades que compra y el descuento total que tiene. Con esos datos, el programa presenta por pantalla lo que ha pagado el cliente y lo que se ha ahorrado gracias al descuento.
Una posible solución es:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double descuento, cantidad, precio;
Scanner sc=new Scanner(System.in);
System.out.println("Introduce el precio del producto");
precio=sc.nextDouble();
System.out.println("Indica cuantas unidades quieres comprar");
cantidad=sc.nextDouble();
System.out.println("Indica el descuento que te dan (0-100)");
descuento=sc.nextDouble();
System.out.println("Has comprado "+cantidad+" unidades con un descuento de "+descuento);
System.out.println("Has pagado: "+(cantidad*precio*(1-descuento/100)));
System.out.println("Te has ahorrado: "+(cantidad*precio*descuento/100));
}
}
Ejercicio 2: Ecuación de segundo grado
Realiza un programa que devuelva los resultados de una ecuación de segundo grado. El usuario tiene que introducir por teclado los coeficientes de la ecuación de segundo grado. En el caso de no tener soluciones reales, hay que detectarlo e indicarlo con un mensaje por pantalla.
Recordatorio: para el polinomio:

las dos soluciones posibles vienen dadas por la ecuación:

Una posible solución sería:
import java.util.Scanner;
public class EcuacionSegundoGrado {
public static void main(String[] args) {
double a,b,c;
double d, solucion1, solucion2;
Scanner sc1=new Scanner(System.in);
System.out.println("Introduce el coeficiente de segundo grado:");
a=sc1.nextDouble();
System.out.println("Introduce el coeficiente de primer grado:");
b=sc1.nextDouble();
System.out.println("Introduce el termino independiente:");
c=sc1.nextDouble();
d=b*b-4*a*c;
if (d<0){
System.out.println("No hay soluciones reales");
}
else {
solucion1=-(b+Math.sqrt(d))/(2*a);
solucion2=-(b-Math.sqrt(d))/(2*a);
System.out.println("la primera solución es: "+solucion1);
System.out.println("la segunda solución es: "+solucion2);
}
}
}
Ejercicio 3: Promedio de números introducidos
Realizar un programa que pida de manera interrumpida al usuario que introduzca un número entero positivo. El programa dejará de pedir al usuario que introduzca un número cuando el número introducido sea el cero. Al finalizar, el programa debe calcular y mostrar el promedio de los números introducidos.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numero;
int suma = 0;
int contador = 0;
// Bucle para pedir números al usuario hasta que introduzca un 0
while (true) {
System.out.print("Introduce un número entero positivo (0 para terminar): ");
numero = scanner.nextInt();
if (numero == 0) {
break; // Sale del bucle si el número introducido es 0
} else if (numero > 0) {
suma += numero;
contador++;
}
}
// Cálculo del promedio
if (contador > 0) {
double promedio = (double) suma / contador;
System.out.println("El promedio de los números introducidos es: " + promedio);
} else {
System.out.println("No se introdujeron números positivos.");
}
// cierre del objeto Scanner
scanner.close();
}
}
NOTA: Este post es parte de la colección “Java”. Puedes ver el índice de esta colección aquí.