Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicio 1
Vamos a empezar con un ejercicio muy básico, vamos a realizar la suma, la resta, la
división y la multiplicación de dos números y lo vamos a mostrar por pantalla.
int a=10;
int b=5;
int suma=a+b;
int resta=a-b;
int multiplicacion=a*b;
int division=a/b;
En este ejercicio lo primero que hemos hecho ha sido crear las variables con los parámetros
con los que vamos a operar, ya que no era necesario que los solicitara el sistema. A
continuación hemos decidido crear las variables con los resultados de dichas operaciones, y
las hemos imprimido por pantalla anidando las variables para darle un resultado más
vistoso. Las operaciones las podrías haber realizado directamente en el «System.out.print»
ejemplo:
(«La suma de » + a + » más » + b + » es igual a » + (a+b);
Ejercicio 2: Notas de alumnos
import java.util.Scanner;
String nombre_alumno;
double evaluacion1;
double evaluacion2;
double evaluacion3;
double evaluacion_final;
En este ejercicio lo que hemos hecho ha sido crear 5 variables, una String con el nombre
del alumno que vamos a solicitar por pantalla y 4 doubles, una para cada evaluación,
contando la final. Si os fijáis de momento no hemos inicializado ninguna variable, ya que
las vamos a solicitar por pantalla y es aquí cuando las vamos a inicializar con
«entrada.nextLine();» o «entrada.nextDouble();». Acordaros que para usar un Scanner hay
que importar primero la clase Scanner.
import java.util.Scanner;
int horas;
int sueldo;
System.out.println("Cuantos horas has trabajado este mes? ");
horas= entrada.nextInt();
sueldo = horas*10;
En este ejercicio lo único que hemos hecho ha sido crear un par de variables, una que va a
almacenar el número de horas que lo vamos a solicitar por pantalla a continuación y en la
otra almacenará el total del sueldo del trabajador. A continuación se solicitan las horas
trabajadas como hemos comentado y se calcula el sueldo, multiplicando las horas por 10,
esto nos da el sueldo del trabajador que el programa imprimirá por pantalla.
Vamos a resolver ejercicios ilustrativos del uso de números aletorios en Java. El primero de
ellos: crear el código de un programa en el que se declaren tres variables tipo float a, b y c,
cuyo valor se muestre en pantalla y deberá estar comprendido entre cero y 10, excluido el
diez.
SOLUCIÓN
import java.util.Random;
float a, b, c;
a = (rnd.nextFloat() * 10);
b = (rnd.nextFloat() * 10);
c = (rnd.nextFloat() * 10);
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
Comentario: la instrucción siguiente (rnd.nextFloat() * 10), se genera un valor de tipo float
y dado que la variables a, b, y c han sido declaradas como float al inicio del programa, los
tipos son coherentes.
EJERCICIO RESUELTO
Crear el código de un programa en el que se declaran tres variables tipo int a, b y c, cuyo
valor se muestra en pantalla y debe estar comprendido entre cero y 100, utilizando el método
nextInt de la clase Random.
Solución:
import java.util.Random;
int a, b, c;
a = rnd.nextInt(101);
b = rnd.nextInt(101);
c = rnd.nextInt(101);
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
Fíjate que el tipo devuelto por el método nextInt es un int, mientras que el tipo devuelto por
el método nextDouble es un double ó el tipo devuelto por el método nextFloat es un float.
EJERCICIO RESUELTO
Solución:
import java.util.Random;
int a, b, c;
a = (rnd.nextInt(26) + 65);
b = (rnd.nextInt(26) + 65);
c = (rnd.nextInt(26) + 65);
System.out.println(a);
System.out.println(b);
System.out.println(c);
Comentario: Si quieres puedes usar otra fórmula. Puedes escribir con igual resultado, lo
siguiente:
EJERCICIO Nº 1
Crea un programa que elija dos números enteros aleatorios A y B pero no los muestre por
pantalla aún. Si los dos números fueran iguales, deberá repetirse la elección hasta que sean
distintos. El programa preguntará por quién apostamos, A o B (gana el número más alto).
Una vez el usuario haya introducido su apuesta, el programa mostrará el valor de A y B, dirá
si hemos ganado la apuesta (acertado el número más alto) o perdido y nos dirá cuántas
partidas hemos ganado y perdido hasta el momento. Tras una jugada, nos preguntará si
queremos jugar otra vez.
Ejemplo de ejecución:
EJERCICIO Nº 2
Ahora vamos a jugar a la “Lotería primitiva”. Para ello, se pedirá al usuario que introduzca
6 números enteros comprendidos entre el 1 y el 49 ambos incluidos. No estará permitido
repetir número. Una vez elegidos los seis números el programa nos mostrará nuestros 6
números así como la combinación ganadora (ordenada de menor a mayor). Esta combinación
constará de 6 números entre 1 y 49 elegidos al azar por el programa. Finalmente nos dirá
cuántos aciertos hemos tenido y nos preguntará si queremos volver a jugar.
Ejemplo de ejecución:
AUX = A;
A = B;
B = AUX;
Programa completo:
/*
* Programa que lea dos variables
* numéricas A y B e
* intercambie sus contenidos.
*/
import java.util.*;
public class Secuenciales2_5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A, B, AUX;
System.out.print("Introduzca valor de A: ");
A = sc.nextInt();
System.out.print("Introduzca Valor de B: ");
B = sc.nextInt();
System.out.println("Valores iniciales: A = " + A + " B = " + B);
//instrucciones para hacer el intercambio
//se utiliza una variable auxiliar
AUX = A;
A = B;
B = AUX;
System.out.println("Valores intercambiados: A = " + A + " B = "
+ B);
}
}
Si por ejemplo A = 5 y B = 3
A = 5 + 3 = 8
B = 8 - 3 = 5
A = 8 - 5 = 3
Programa completo:
/*
* Programa que intercambie dos variables sin auxiliar
*/
import java.util.*;
public class Secuenciales2_5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A, B, AUX;
System.out.print("Introduzca valor de A: ");
A = sc.nextInt();
System.out.print("Introduzca Valor de B: ");
B = sc.nextInt();
System.out.println("Valores iniciales: A = " + A + " B = " + B);
//instrucciones para hacer el intercambio
//sin utilizar una variable auxiliar
A = A + B;
B = A - B;
A = A - B;
System.out.println("Valores intercambiados: A = " + A + " B = "
+ B);
}
}
ºK = ºC + 273
import java.util.*;
import java.io.*;
/**
* Programa que lee una temperatura expresada en grados centígrados y
los pasa a grados kelvin.
* Repetir el proceso mientras que se responda ‘S’ a la pregunta:
* Repetir proceso? (S/N)
* @author Enrique
*/
public class CentigradosAKelvin {
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(System.in);
double temperatura;
char car;
do{
System.out.print("Introduce temperatura en ºC: ");
temperatura = sc.nextDouble();
System.out.println("Grados Kelvin ..: " + (temperatura+273));
System.out.print("Repetir proceso? (S/N): " );
car = (char)System.in.read();
}while(car =='S' || car == 's');
}
}
//millar
for (i = 1; i <= miles; i++) {
romano = romano + "M";
}
//centenas
if (centenas == 9) {
romano = romano + "CM";
} else if (centenas >= 5) {
romano = romano + "D";
for (i = 6; i <= centenas; i++) {
romano = romano + "C";
}
} else if (centenas == 4) {
romano = romano + "CD";
} else {
for (i = 1; i <= centenas; i++) {
romano = romano + "C";
}
}
//decenas
if (decenas == 9) {
romano = romano + "XC";
} else if (decenas >= 5) {
romano = romano + "L";
for (i = 6; i <= decenas; i++) {
romano = romano + "X";
}
} else if (decenas == 4) {
romano = romano + "XL";
} else {
for (i = 1; i <= decenas; i++) {
romano = romano + "X";
}
}
//unidades
if (unidades == 9) {
romano = romano + "IX";
} else if (unidades >= 5) {
romano = romano + "V";
for (i = 6; i <= unidades; i++) {
romano = romano + "I";
}
} else if (unidades == 4) {
romano = romano + "IV";
} else {
for (i = 1; i <= unidades; i++) {
romano = romano + "I";
}
}
return romano;
}
}