Sesión 02.
Tips (trucos)
Introducción a la Programación. Versión curso.2026
Tabla de contenidos
Ejercicio 3. Cálculo del Impuesto IRPF
Lectura de String por teclado
Ejercicio 5. Ecuacion de Segundo Grado con Argumentos
Ejercicio 6. Puro Latino Fest
Lectura de datos por teclado de distinto tipo
Comparación de Strings
Ejercicio 3. Cálculo del Impuesto IRPF
Lectura de String por teclado
Para leer por teclado los datos de entrada del ejercicio, hay que considerar el tipo de cada dato:
Recuerda que solamente debes definir una variable de tipo Scanner al principio del programa
principal ( main ). Y usar esa misma variable tantas veces como necesites leer datos de teclado.
Introduce tu nombre: Pepe Perez
Introduce tu base imponible: 40000
nombre será un String . Para leer por teclado un String se puede usar el método nextLine() o el método next()
de Scanner .
next() solo lee hasta donde encuentra un espacio en blanco (la primera palabra).
nextLine() lee toda la frase, incluyendo espacios, hasta un Enter o salto de linea. Como nombre
puede tener espacios en blanco, en este ejercicio se debe usar nextLine()
base imponible será un double , se lee con nextDouble() .
Ejercicio 5. Ecuacion de Segundo Grado con Argumentos
Para poder convertir los argumentos que recibe el programa del tipo String a int hay que usar [Link](…
).
Ejemplo:
JAVA
public class EcuacionSegundoGradoArgumentos {
public static void main(String[] args) {
int a, b, c;
a = [Link](args[0]); 1
b = [Link](args[1]);
c = [Link](args[2]);
[Link]("Los valores de los argumentos son: "+
"a=" + a + " b=" + b + " c=" + c);
}
}
1 Usamos [Link](String) para convertir un String en int . Y entre paréntesis args[0] contiene el
String con el primer argumento de la lista de argumentos de la llamada al programa.
Ejercicio 6. Puro Latino Fest
Lectura de datos por teclado de distinto tipo
Para leer por teclado los datos de entrada del ejercicio, hay que considerar el tipo de cada dato:
Recuerda que solamente debes definir una variable de tipo Scanner al principio del programa
principal ( main ). Y usar esa misma variable tantas veces como necesites leer datos de teclado.
Tipo de entrada
(General/Oro/Platino/Plataforma): General
Edad: 23
Carné Joven (s/n): n
Días de antelación: 20
Quiere reacceso (s/n): n
Tipo de entrada será un String . Para leer por teclado un String se recomienda usar el método nextLine()
Edad será un int , se lee con nextInt()
Carné Joven será un char , se lee con nextLine().charAt(0)
Días de antelación será int , se lee con nextInt()
Quiere reacceso será char , se lee con nextLine().charAt(0)
Si has usado nextLine() para leer un String o nextLine().charAt(0) para leer un char , justo
después de leer un entero con nextInt() hay que añadir una llamada a nextLine() despues de
nextInt() para vaciar el buffer de teclado. Si no se hace esto, el String porterior no se leerá, sino
que el programa se salta la lectura de ese String .
Por tanto: después de leer Edad con nextInt() hay que añadir una llamada a nextLine() . Idem
para Días de antelación .
Además, después de leer un caracter, es necesario convertir el char leido ( s o n ) a un valor booleano ( true o false ).
Una solución es, por ejemplo:
JAVA
[Link]("Quiere reacceso (s/n): ");
char reacceso = [Link]().charAt(0);
boolean quiereReacceso;
if (reacceso == 's' || reacceso == 'S') {
quiereReacceso = true;
} else {
quiereReacceso = false;
}
Comparación de Strings
Para comparar dos Strings y saber si son iguales o no, se usa el método ).
equals(…
Ejemplo:
JAVA
public static void main(String[] args) {
Scanner entrada = new Scanner([Link]);
// ...
[Link]("Tipo de entrada\n"
+ "(General/Oro/Platino/Plataforma): ");
String tipoEntradaInput = [Link]();
// ...
double precioBase = 0;
if ([Link]("General")) 1
precioBase = 60.0;
else if ([Link]("Oro")) 1
precioBase = 175.0;
else // ...
1 Usamos el método equals() para comparar si dos cadenas son iguales entre si; el resultado será true o false .