Está en la página 1de 14

Declaracion de operaciones OPERACIONES operaciones

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.

public class Declaraciones_Operaciones {

public static void main(String[] args) {

int a=10;
int b=5;

int suma=a+b;
int resta=a-b;
int multiplicacion=a*b;
int division=a/b;

System.out.println("La suma de " + a + " más " + b


+ " es igual a " + suma);
System.out.println("La resta de " + a + " menos
" + b + " es igual a " + resta);
System.out.println("La multipación de " + a + " por
" + b + " es igual a " + multiplicacion);
System.out.println("La division de " + a + " entre
" + b + " es igual a " + division);
}
}

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

En el segundo ejercicio vamos a realizar un programa que te realice el promedio de las


notas de un alumno, para ello el programa te va a tener que solicitar el nombre del alumno
y las notas de las 3 evaluaciones.

Requisitos: Las notas pueden tener decimales.

import java.util.Scanner;

public class Notas_Alumno {

public static void main(String[] args) {

Scanner entrada = new Scanner (System.in);

String nombre_alumno;
double evaluacion1;
double evaluacion2;
double evaluacion3;
double evaluacion_final;

System.out.println("Nombre alumno: ");


nombre_alumno = entrada.nextLine();

System.out.println("Nota primera evaluación: ");


evaluacion1 = entrada.nextDouble();

System.out.println("Nota segunda evaluación: ");


evaluacion2 = entrada.nextDouble();

System.out.println("Nota tercera evaluación: ");


evaluacion3 = entrada.nextDouble();

evaluacion_final = (evaluacion1 + evaluacion2 + evaluacion3)/3;

System.out.println("La nota media de " + nombre_alumno +


" es " + 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.

Ejercicio 3: Calcular sueldo de un trabajador

En el tercer ejercicio vamos a realizar un programa que calcule el sueldo de un trabajador,


el programa va a solicitar el numero de horas que has trabajado en un mes, las horas se
pagan a 10€.

import java.util.Scanner;

public class Sueldo {

public static void main(String[] args) {

Scanner entrada = new Scanner (System.in);

int horas;
int sueldo;
System.out.println("Cuantos horas has trabajado este mes? ");
horas= entrada.nextInt();

sueldo = horas*10;

System.out.println("Tu sueldo de este mes es de: " + sueldo +


"€");
}
}

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.

EJERCICIO EJEMPLO DE USO DE NÚMEROS ALEATORIOS EN JAVA

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

/* Ejemplo uso clase Random() – aprenderaprogramar.com


*/

import java.util.Random;

public class Programa {

public static void main(String arg[]) {

float a, b, c;

Random rnd = new Random();

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:

/* Ejemplo uso clase Random() – aprenderaprogramar.com


*/

import java.util.Random;

public class Programa {

public static void main(String arg[]) {

int a, b, c;

Random rnd = new Random();

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

Crear el código de un programa que genera tres números enteros aleatorios a, b, c,


comprendidos entre 65 y 90, ambos inclusive. Los mostraremos en pantalla.

Solución:

/* Ejemplo uso clase Random() – aprenderaprogramar.com


*/

import java.util.Random;

public class Programa {

public static void main(String arg[]) {

int a, b, c;

Random rnd = new Random();

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:

a = rnd.nextInt (90 - 65 + 1) + 65;

b = rnd.nextInt (90 - 65 + 1) + 65;

c = rnd.nextInt (90 - 65 + 1) + 65;

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:

Apuestas por A o por B ? : A


A saca un 9 y B saca un 6 HAS GANADO!!!
Llevas 1 partidas ganadas y 0 partidas perdidas
Quieres probar otra vez ? (S/N) : S
Apuestas por A o por B ? : A
A saca un 1 y B saca un 8 HAS PERDIDO!!!
Llevas 1 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) : N
Adiós

Para comprobar si tu solución es correcta puedes consultar en los foros


aprenderaprogramar.com.

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:

Elige 6 numeros entre el 1 y el 49.


Elige el numero 1 : 3
Elige el numero 2 : 8
Elige el numero 3 : 14
Elige el numero 4 : 2
Elige el numero 5 : 34
Elige el numero 6 : 38
Numeros Elegidos : 3 8 14 2 34 38
Combinación ganadora : 6 14 21 27 30 48
Has acertado : 1 números
Quieres probar otra vez ? (S/N) : n
Adiós
En esta entrada vamos a explicar dos métodos para realizar el intercambio
de valores entre dos variables.
El primer método de intercambio utiliza una variable auxiliar y el segundo
método realiza el intercambio de valores sin utilizar variable auxiliar.
Intercambio de valores entre dos variables utilizando una variable
auxiliar.

Programa para intercambiar el valor de dos variables. Los valores iniciales


se leen por teclado.

Por ejemplo, suponiendo que las variables se llaman A y B, si A contiene


3 y B contiene 5, después del intercambio A contendrá 5 y B 3.

En este ejemplo, para intercambiar el valor entre dos variables


utilizaremos una avariable auxiliar donde guardar el valor de una de ellas.
Después veremos la forma de hacerlo sin usar una variable auxiliar para
el intercambio.

Las instrucciones a realizar son:

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);
}
}

Intercambio de valores entre dos variables sin utilizar variable


auxiliar.
También se puede intercambiar el valor de dos variables sin utilizar una
variable auxiliar.
En ese caso se resuelve utilizando aritmética básica:
A = A + B;
B = A - B;
A = A - 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);
}
}

Programa Java que lee una temperatura expresada en grados centígrados


y la convierte a grados kelvin.

El proceso de leer grados centígrados se debe repetir mientras que se


responda ‘S’ a la pregunta: Repetir proceso? (S/N)

Para hacer la conversión de grados Centígrados a grados Kelvin hay que


utilizar la fórmula:

ºK = ºC + 273

El programa java para realizar la conversión de temperaturas es el


siguiente:

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');
}
}

Convertir a números romanos en Java


Programa Java para convertir un número entero a números romanos.
El programa pide un número entre 1 y 3999 y calcula su equivalente en números
romanos. Se utiliza un método llamado convertirANumerosRomanos que recibe el
número N a convertir de tipo int y devuelve un String con el equivalente en números
romanos.
Para convertirlo se obtiene por separado cada cifra del número y se muestran las
combinaciones de letras del número romano equivalentes a cada cifra del número
original. Este método no utiliza arrays de modo que este programa se puede resolver
sin haber estudiado aún los arrays.

//Programa Java que lee un número y lo convierte a números romanos


import java.util.Scanner;

public class NumerosRomanos {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
int N;
do {
System.out.print("Introduce un número entre 1 y 3999: ");
N = sc.nextInt();
} while (N < 1 || N > 3999);
System.out.println(N + " en numeros romanos -> " +
convertirANumerosRomanos(N));
}

//método para pasar a números romanos


public static String convertirANumerosRomanos(int numero) {
int i, miles, centenas, decenas, unidades;
String romano = "";
//obtenemos cada cifra del número
miles = numero / 1000;
centenas = numero / 100 % 10;
decenas = numero / 10 % 10;
unidades = numero % 10;

//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;
}
}

También podría gustarte