Ejercicios básicos de Iniciación Java
Vamos con unos ejercicios para empezar a programar en Java.
Ejercicios
1. Calcula el factorial de un número pedido por teclado
Solución
import [Link];
public class factorial {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int fact=1;
int num=0;
[Link] ("Introduce numero");
num = [Link]();
for(int ind=1;ind<=num;ind++) {
fact*=ind;
[Link] ("o factorial e "+fact);
2. Suma los pares y los impares hasta un número pedido por teclado
Solución
import [Link];
public class suparimpar {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int num;
int supar=0;
int suimpar=0;
[Link] ("Introduce numero");
num = [Link]();
for(int ind=1;ind<=num;ind++) {
if(ind%2==0) {
supar+=ind;
else {
suimpar+=ind;
[Link] ("La suma de los pares es "+supar);
[Link] ("La suma de los impares es "+suimpar);
3. Pide un número y muestra si es positivo o negativo y si es par o impar
Solución
import [Link];
public class parimpar {
public static void main(String[] args) {
int numero;
Scanner teclado = new Scanner([Link]);
[Link]("Introduce un numero");
numero = [Link]();
if(numero<0) {
[Link] ("El numero "+numero+" es negativo\n");
else {
[Link] ("El numero "+numero+" es positivo\n");
if(numero%2==0) {
[Link] ("El numero "+numero+" es par\n");
else {
[Link] ("El numero "+numero+" es impar\n");
4. Pide 2 números y muestra cual es el mayor, el menor, o si son iguales
Solución
import [Link];
puclic class maiormenor {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int num1;
int num2;
[Link] ("Introduce un numero");
num1 = [Link]();
[Link] ("Introduce otro numero");
num2 = [Link]();
if(num1==num2) {
[Link] ("Son iguales");
else if(num1>num2) {
[Link] ("El mayor e "+num1);
else {
[Link] ("El mayor e "+num2);
}
5. Pide dos números por teclado, los suma y muestra el resultado
Solución
import [Link];
public class sumanum {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int num1;
int num2;
int suma;
[Link] ("Introduce un numero");
num1 = [Link]();
[Link] ("Introduce otro numero");
num2 = [Link]();
suma = num1 + num2;
[Link] ("El resultado de la suma es "+suma);
6. Pedir un número, comprobar si es primo y preguntar si quiere introducir más
Solución
import [Link];
public class siesprimo{
public static void main(String[] args){
Scanner teclado = new Scanner([Link]);
boolean primo=true;
int num;
String respuesta, s, S;
do {
[Link] ("Introduce numero");
num = [Link]();
for(int ind=2;ind<num;ind++){
if(num%ind==0){
primo=false;
if(primo==true){
[Link] (num+" es primo");
else{
[Link] (num+" no es primo");
[Link] ("Quieres intoducir otro numero? s/n");
respuesta=[Link]();
}while([Link]("s") || [Link]("S"));
7. Pide 5 números, los muestra, muestra la suma y los muestra en orden inverso (Arrays)
Solución
import [Link];
public class arraybasico {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int datos[],suma=0;
datos=new int[5];
int ind,num;
for(ind=0;ind<[Link];ind++) {
[Link]("Introduce dato "+ind);
/* num=[Link]();
datos[ind]=num;*/
datos[ind]=[Link]();
for(ind=0;ind<[Link];ind++) {
suma+=datos[ind];
[Link]("Datos["+ind+"]="+datos[ind]);
[Link]("A suma e = "+suma);
[Link]("Orden inverso");
for(ind=([Link])-1;ind>=0;ind--) {
[Link]("Datos["+ind+"]="+datos[ind]);
8. Muestra la serie de fibonacci hasta un número pedido por teclado
Solución
import [Link];
class fibonacci {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int num, anterior=0, actual=1, fibo=0;
[Link] ("Introduce un numero");
num = [Link]();
//Aqui visualizamos 0 e 1, para que comience la serie..
[Link] ("0, ");
[Link] ("1, ");
while(fibo<=num) {
fibo=(anterior+actual);
anterior=actual;
actual=fibo;
[Link] (fibo+", ");
9. Pedir número por teclado y preguntar si quiere poner más. Mostrar la suma de los positivos
y negativos, suma de los pares e impares, cantidad de positivos y negativos, cantidad de pares
e impares y media de todos los números
Solución
import [Link];
class rematepreg {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
int sumapar=0,sumaimp=0,sumapos=0,sumaneg=0;
int contpos=0,contneg=0,contpar=0,contimp=0;
int num,contmed=0;
float med=0;
String respuesta, s, S;
do {
[Link] ("Introduce numero");
num = [Link]();
med+=num;
contmed++;
if(num<0) {
[Link] ("El numero es negativo");
sumaneg+=num;
contneg++;
else {
[Link] ("El numero es positivo");
sumapos+=num;
contpos++;
if(num%2==0) {
[Link] ("El numero es e par");
sumapar+=num;
contpar++;
else {
[Link] ("El numero es impar");
sumaimp+=num;
contimp++;
[Link] ("Quiere intoducir otro numero? s/n");
respuesta=[Link]();
}while([Link]("s") || [Link]("S"));
//Se pone float para que coja la parte entera y la decimal.
med=(float)med/contmed;
[Link] ("La suma de los negativos es "+sumaneg);
[Link] ("La suma de los positivos es "+sumapos);
[Link] ("La suma de los pares es "+sumapar);
[Link] ("La suma de los impares es "+sumaimp);
[Link] ("La cantidad de negativos es "+contneg);
[Link] ("La cantidad de positivos es "+contpos);
[Link] ("La cantidad de pares es "+contpar);
[Link] ("La cantidad de impares es "+contimp);
[Link] ("La media de todos los numeros es "+med);
10. Juego de piedra, papel, tijera
Solución
import [Link];
class piedra {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
String resp1, resp2;
boolean correcto;
do{
[Link]("PIEDRA PAPEL TIJERA\n");
[Link]("\nINTRODUCE OPCION JUGADOR 1: P/L/T\n");
resp1=[Link]();
[Link]("\nINTRODUCE OPCION JUGADOR 2: P/L/T\n");
resp2=[Link]();
correcto=true;
if([Link]("P") && [Link]("P")) {
[Link]("\nEMPATE\n");
correcto=false;
if([Link]("P") && [Link]("L")) {
[Link]("\nGANA JUGADOR 2\n");
correcto=false;
if([Link]("P") && [Link]("T")) {
[Link]("\nGANA JUGADOR 1\n");
correcto=false;
if([Link]("L") && [Link]("P")) {
[Link]("\nGANA JUGADOR 1\n");
correcto=false;
if([Link]("L") && [Link]("L")) {
[Link]("\nEMPATE\n");
correcto=false;
if([Link]("L") && [Link]("T")) {
[Link]("\nGANA JUGADOR 2\n");
correcto=false;
if([Link]("T") && [Link]("P")) {
[Link]("\nGANA JUGADOR 2\n");
correcto=false;
if([Link]("T") && [Link]("L")) {
[Link]("\nGANA JUGADOR 1\n");
correcto=false;
if([Link]("T") && [Link]("T")) {
[Link]("\nEMPATE\n");
correcto=false;
}while(correcto==false);
11. Pide por teclado el nombre, edad y salario y muestra el salario.
Si es menor de 16 no tiene edad para trabajar
Entre 19 y 50 años el salario es un 5 por ciento más
Entre 51 y 60 años el salario es un 10 por ciento más
Si es mayor de 60 el salario es un 15 por ciento más
Solución
import [Link];
class Edad {
public static void main(String[] args) {
Scanner teclado = new Scanner([Link]);
String nombre;
int edad;
float salario, salar;
[Link] ("introduce un nombre: ");
nombre = [Link]();
[Link]();
[Link] ("introduce una edad: ");
edad = [Link]();
[Link]();
[Link] ("introduce un salario: ");
salario = [Link]();
[Link]();
if(edad >= 16 && edad <= 18) {
salar = salario;
[Link](nombre + " con " + edad + " a\u00f1os cobra " + salario + " + 0% = " +
salar);
else if(edad >= 19 && edad <= 50) {
salar = salario + ((salario * 5)/100);
[Link](nombre + " con " + edad + " a\u00f1os cobra " + salario + " + 5% = " +
salar);
else if(edad >= 51 && edad <= 60) {
salar = salario + ((salario * 10)/100);
[Link](nombre + " con " + edad + " a\u00f1os cobra " + salario + " + 10% = "
+ salar);
else if(edad > 60) {
salar = salario + ((salario * 15)/100);
[Link](nombre + " con " + edad + " a\u00f1os cobra " + salario + " + 15% = "
+ salar);
}
else if(edad < 16) {
[Link]("No tienes edad para trabajar");
Más e