Ejercicios Bsicos Iniciales para principiantes: 1.
Programa java que realice lo siguiente: declarar una variable N de tipo int, una variable A de tipo double y una variable C de tipo char y asigna a cada una un valor. A continuacin muestra por pantalla: El valor de cada variable, la suma de N + A, la diferencia de A - N, el valor numrico correspondiente al carcter que contiene la variable C.
* Solucin */ package bi1; public class Main { public static void main(String[] args) { int N = 5; double A = 4.56; char C = 'a'; [Link]("Variable N = " + N); [Link]("Variable A = " + A); [Link]("Variable C = " + C); [Link](N + " + " + A + " = " + (N+A)); [Link](A + " - " + N + " = " + (A-N)); [Link]("Valor numrico del carcter " + C + " = " + (int)C); } }
2. Programa java que realice lo siguiente: declarar dos variables X e Y de tipo int, dos variables N y M de tipo double y asigna a cada una un valor. A continuacin realiza y muestra por pantalla una serie de operaciones entre ellas.
Solucin
package bi2; public class Main { public static void main(String[] args) { int X = 1, Y = 2; double M = 3.2, N = 4.7; [Link]("Variable X = " + X); [Link]("Variable Y = " + Y); [Link]("Variable M = " + M); [Link]("Variable N = " + N); [Link](X + " + " + Y + " = " + (X+Y)); [Link](X + " - " + Y + " = " + (X-Y)); [Link](X + " * " + Y + " = " + X*Y); [Link](X + " / " + Y + " = " + X/Y); [Link](X + " % " + Y + " = " + X%Y); [Link](N + " + " + M + " = " + (N+M)); [Link](N + " - " + M + " = " + (N-M)); [Link](N + " * " + M + " = " + N*M); [Link](N + " / " + M + " = " + N/M);
[Link](N + " % " + M + " = " + N%M); [Link](X + " + " + N + " = " + (X+N)); [Link](Y + " / " + M + " = " + Y/M); [Link](Y + " % " + M + " = " + Y%M); [Link]("Variable X = " + X + " el doble es " + 2*X); [Link]("Variable Y = " + Y + " el doble es " + 2*Y); [Link]("Variable M = " + M + " el doble es " + 2*M); [Link]("Variable N = " + N + " el doble es " + 2*N); [Link](X + " + " + Y + " + " + N + " + " + M + " = " + (X+Y+M+N)); [Link](X + " * " + Y + " * " + N + " * " + M + " = " + (X*Y*M*N)); } }
3. Programa Java que declare una variable entera N y asgnale un valor. A continuacin escribe las instrucciones que realicen lo siguiente: Incrementar N en 77, Decrementarla en 3, Duplicar su valor.
Solucin
package bi3; public class Main { public static void main(String[] args) { int N = 1; [Link]("Valor inicial de N = " + N); N+=77; [Link]("N + 77 = " + N); N-=3; [Link]("N - 3 = " + N); N*=2; [Link]("N * 2 = " + N); } }
4. Programa java que declare cuatro variables enteras A, B, C y D y asgnale un valor acada una. A continuacin realiza las instrucciones necesarias para que: B tome el valor de C, C tome el valor de A, A tome el valor de D, D tome el valor de B.
Solucin Ejercicio Bsico Inicial 4 package bi6; public class Main { public static void main(String[] args) { int A = 1, B = 2, C = 3, D = 4, AUX; [Link]("Valores iniciales"); [Link]("A = " + A); [Link]("B = " + B); [Link]("C = " + C); [Link]("D = " + D);
AUX = B; B = C; C = A; A = D; D = AUX; [Link]("Valores finales"); [Link]("B toma el valor de C -> B = " + B); [Link]("C toma el valor de A -> C = " + C); [Link]("A toma el valor de D -> A = " + A); [Link]("D toma el valor de B -> D = " + D); } }
5. Programa Java que declare una variable A de tipo entero y asgnale un valor. A continuacin muestra un mensaje indicando si A es par o impar. Utiliza el operador condicional ( ? : ) dentro del println para resolverlo.
package bi7; public class Main { public static void main(String[] args) { int A = 15; [Link](A + (A%2==0 ? " es par " : " es impar ")); } }
6.
Programa Java que declare una variable B de tipo entero y asgnale un valor. A continuacin muestra un mensaje indicando si el valor de B es positivo o negativo. Consideraremos el 0 como positivo. Utiliza el operador condicional (? : ) dentro del println para resolverlo. Solucin package bi6; public class Main { public static void main(String[] args) { int B = -1; [Link](B + (B >= 0 ? " es positivo " : " es negativo ")); } }
7.
Programa Java que declare una variable C de tipo entero y asgnale un valor. A continuacin muestra un mensaje indicando si el valor de C es positivo o negativo, si es par o impar, si es mltiplo de 5, si es mltiplo de 10 y si es mayor o menor que 100. Consideraremos el 0 como positivo. Utiliza el operador condicional ( ? : ) dentro del println para resolverlo.
Solucin Ejercicio Bsico Inicial 7 package bi7;
public class Main { public static void main(String[] args) { int C = 55; [Link](C + (C >= 0 ? " es positivo " : " es negativo ")); [Link](C + (C%2== 0 ? " es par " : " es impar ")); [Link](C + (C%5== 0 ? " es mltiplo de 5 " : " no es mltiplo de 5 ")); [Link](C + (C%10== 0 ? " es mltiplo de 10 " : " no es mltiplo de 10 ")); [Link](C + (C>100 ? " es mayor que 100 " : " es menor que 100 ")); } }
Ejercicios Bsicos con Estructura Secuencial: 1. Programa Java que lea dos nmeros enteros por teclado y los muestre por pantalla.
import [Link].*; public class Main { public static void main(String[] args){ //declaracin de variables int n1, n2; Scanner sc = new Scanner([Link]); //leer el primer nmero [Link]("Introduce un nmero entero: "); n1 = [Link](); //lee un entero por teclado //leer el segundo nmero [Link]("Introduce otro nmero entero: "); n2 = [Link](); //lee un entero por teclado //mostrar resultado [Link]("Ha introducido los nmeros: " + n1 + " y " + n2); } }
2. Programa Java que lea un nombre y muestre por pantalla: Buenos das nombre_introducido.
import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); String cadena; [Link]("Introduce un nombre: "); cadena = [Link](); [Link]("Buenos Das " + cadena); } }
3. Programa Java que lee un nmero entero por teclado y obtiene y muestra por pantalla el doble y el triple de ese nmero.
import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int numero; [Link]("Introduce un nmero entero:"); numero = [Link](); [Link]("Nmero introducido: " + numero); [Link]("Doble de " + numero + " -> "+ 2*numero); [Link]("Triple de " + numero + " -> "+ 3*numero); } }
4. Programa que lea una cantidad de grados centgrados y la pase a grados Fahrenheit. La frmula correspondiente es: F = 32 + ( 9 * C / 5)
import [Link].*; public class Main {
public static void main(String[] args) { Scanner sc = new Scanner([Link]); double gradosC, gradosF; [Link]("Introduce grados Centgrados:"); gradosC = [Link](); gradosF = 32 + (9 * gradosC / 5); [Link](gradosC +" C = " + gradosF + " F"); } } 5. Programa que lee por teclado el valor del radio de una circunferencia y calcula y muestra por pantalla la longitud y el rea de la circunferencia. Longitud de la circunferencia = 2*PI*Radio, Area de la circunferencia = PI*Radio^2 import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); double radio, longitud, area; [Link]("Introduce radio de la circunferencia:"); radio = [Link](); longitud = 2 * [Link] * radio; area = [Link] * [Link](radio, radio);
[Link]("Longitud de la circunferencia -> " + longitud); [Link]("Area de la circunferencia -> " + area); } } 6. Programa que pase una velocidad en Km/h a m/s. La velocidad se lee por teclado. import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); double velocidad; [Link]("Introduzca velocidad en Km/h: "); velocidad = [Link](); [Link](velocidad + " Km/h -> " + velocidad*1000/3600 + " m/s"); } } 7. Programa lea la longitud de los catetos de un tringulo rectngulo y calcule la longitud de la hipotenusa segn el teorema de Pitgoras.
import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); double cateto1, cateto2; [Link]("Introduzca longitud del primer cateto: "); cateto1 = [Link](); [Link]("Introduzca longitud del segundo cateto: "); cateto2 = [Link](); [Link]("Hipotenusa -> " + [Link]([Link](cateto1,2)+ [Link](cateto2, 2))); } }
8. Programa que calcula el volumen de una esfera.
import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); double radio, volumen; [Link]("Introduzca radio de la esfera: "); radio = [Link](); [Link]("Volumen de la esfera de radio " + radio + " = "
+ (4.0/3)* [Link] * [Link](radio, 3)); } }
9. Programa que calcula el rea de un tringulo a partir de la longitud de sus lados. /* * Programa que calcule el rea de un tringulo en funcin de las longitudes de sus lados (a, b, c) * segn la siguiente frmula: area=raiz2(p(p-a)(p-b)(p-c)) donde p = (a+b+c)/2 */ import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); double a,b,c,p; [Link]("Introduzca longitud del primer lado del tringulo: "); a = [Link](); [Link]("Introduzca longitud del segundo lado del tringulo: "); b = [Link](); [Link]("Introduzca longitud del tercer lado del tringulo: "); c = [Link](); p = (a+b+c)/2; [Link]("Area -> " + [Link](p*(p-a)*(p-b)*(p-c))); } }
10. Programa que lee un nmero de 3 cifras y muestra sus cifras por separado. import [Link].*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner([Link]); int N; [Link]("Introduzca valor de N: "); N = [Link](); //supondremos que el nmero introducido tiene 3 cifras [Link]("Primera cifra de " + N + " -> " + (N/100)); [Link]("Cifra central de " + N + " -> " + (N/10)%10); [Link]("ltima cifra de " + N + " -> " + (N%10)); } }
11. Programa que lea un nmero entero N de 5 cifras y muestre sus cifras desde el principio como en el ejemplo. /* * * N = 12345 La salida debe ser: *1 * 12 * 123 * 1234 * 12345 */ import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int N; [Link]("Introduzca valor de N: "); N = [Link](); //supondremos que el nmero introducido tiene 5 cifras [Link](N/10000); [Link](N/1000); [Link](N/100); [Link](N/10); [Link](N); } } 12. Programa que lea un nmero entero N de 5 cifras y muestre sus cifras desde el final igual que en el ejemplo. /* * * N = 12345 La salida debe ser: *5 * 45 * 345 * 2345 * 12345 */ import [Link].*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int N; [Link]("Introduzca valor de N: "); N = [Link](); //supondremos que el nmero introducido tiene 5 cifras [Link](N%10); [Link]("%02d %n",N%100); [Link]("%03d %n",N%1000);
[Link]("%04d %n",N%10000); [Link]("%05d %n",N); } }
13. Programa que calcula el nmero de la suerte de una persona a partir de su fecha de nacimiento. /* * Programa que calcula el nmero de la suerte */ import [Link].*; public class Secuenciales2_13 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int dia, mes, ao, suerte, suma, cifra1, cifra2, cifra3, cifra4; [Link]("Introduzca fecha de nacimiento"); [Link]("da: "); dia = [Link](); [Link]("mes: "); mes = [Link](); [Link]("ao: "); ao = [Link](); suma = dia + mes + ao; cifra1 = suma/1000; //obtiene la primera cifra cifra2 = suma/100%10; //obtiene la segunda cifra cifra3 = suma/10%10; //obtiene la tercera cifra cifra4 = suma%10; //obtiene la ltima cifra suerte = cifra1 + cifra2 + cifra3 + cifra4; [Link]("Su nmero de la suerte es: " + suerte); } }
Ejercicios Bsicos con estructura Condicional: 1. Programa Java que lea un nmero entero y calcule si es par o impar.
import [Link].*; public class Condicional1_1 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int N; [Link]("Introduzca Nmero entero: "); N = [Link](); if(N%2==0) [Link]("Par");
else [Link]("Impar"); } }
2. Programa que lea un nmero entero y muestre si el nmero es mltiplo de 10.
/* Programa que lea un nmero entero y muestre si el nmero es mltiplo de 10 */ import [Link].*; public class Condicional1_2 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int N; [Link]("Nmero entero: "); N = [Link](); if(N%10==0) [Link]("Es mltiplo de 10"); else [Link]("No es mltiplo de 10"); } }
3. Programa que lea un carcter por teclado y compruebe si es una letra mayscula.
/* condicional1_3 * Programa que lea un carcter por teclado y compruebe si es una letra mayscula */ import [Link].*; import [Link].*; public class condicional1_3 { public static void main(String[] args) throws IOException{ Scanner sc = new Scanner([Link]); char car, car1; [Link]("Introduzca un carcter: "); car = (char)[Link](); //lee un solo caracter if([Link](car)) //utilizamos el mtodo isUpperCase de la clase Character [Link]("Es una letra mayscula"); else [Link]("No es una letra mayscula"); } }
4.
Programa que lea dos caracteres por teclado y compruebe si son iguales.
import [Link].*; public class condicional1_5 { public static void main(String[] args) throws IOException { char car1, car2; [Link]("Introduzca primer carcter: "); car1 = (char)[Link](); //lee un carcter [Link](); //saltar el intro que ha quedado en el buffer [Link]("Introduzca segundo carcter: "); car2 = (char)[Link](); //lee el segundo carcter if(car1 == car2) [Link]("Son iguales"); else [Link]("No son iguales"); } }
Una forma alternativa de hacer este programa es creando dos objetos Character a partir de los caracteres que se han ledo y compararlos utilizando el mtodo equals
import [Link].*; public class condicional1_5 { public static void main(String[] args) throws IOException { char car1, car2; [Link]("Introduzca primer carcter: "); car1 = (char)[Link](); //lee un carcter [Link](); //saltar el intro que ha quedado en el buffer [Link]("Introduzca segundo carcter: "); car2 = (char)[Link](); //lee el segundo carcter Character c1 = new Character(car1); Character c2 = new Character(car2); if([Link](c2)) //comparamos dos objetos Character mediante el mtodo equals [Link]("Son iguales"); else
[Link]("No son iguales"); } }
5.
Programa que lea dos caracteres y compruebe si son dos letras minsculas.
import [Link].*; public class condicional1_6 { public static void main(String[] args) throws IOException { char car1, car2; [Link]("Introduzca primer carcter: "); car1 = (char)[Link](); //lee un carcter [Link](); //saltar el intro que ha quedado [Link]("Introduzca segundo carcter: "); car2 = (char)[Link](); //lee el segundo carcter if([Link](car1)){ //utilizamos el mtodo isLowerCase de la clase Character if([Link](car2)) [Link]("Los dos son letras minsculas"); else [Link]("El primero es una letra minscula pero el segundo no"); } else{ if([Link](car2)) [Link]("El segundo es una letra minscula pero el primero no"); else [Link]("Ninguno es una letra minscula"); } } }
6.
Programa que lea un carcter y compruebe si es un nmero (Carcter entre '0' y '9').
import [Link].*; public class condicional1_7 {
public static void main(String[] args) throws IOException { char car1; [Link]("Introduzca carcter: "); car1 = (char)[Link](); //lee un carcter if([Link](car1)) //utilizamos el mtodo isDigit de la clase Character [Link]("Es un nmero"); else [Link]("No es un nmero"); } }
7. Programa que lea dos nmeros por teclado y muestre el resultado de la divisin del primero por el segundo. Se debe comprobar que el divisor no puede ser cero.
import [Link].*; public class condicional1_8 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); double dividendo, divisor; [Link]("Introduzca el dividendo: "); dividendo = [Link](); [Link]("Introduzca el divisor: "); divisor = [Link](); if(divisor==0) [Link]("No se puede dividir por cero"); else{ [Link](dividendo + " / " + divisor + " = " + dividendo/divisor); [Link]("%.2f / %.2f = %.2f %n" , dividendo, divisor , dividendo/divisor); } } }
8. Calcular el mayor de tres nmeros enteros en Java.
import [Link].*; public class MayorDeTres { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int n1, n2, n3;
[Link]("Introduzca primer nmero: "); n1 = [Link](); [Link]("Introduzca segundo nmero: "); n2 = [Link](); [Link]("Introduzca tercer nmero: "); n3 = [Link](); if(n1 > n2) if(n1>n3) [Link]("El mayor es: " + n1); else [Link]("el mayor es: " + n3); else if(n2>n3) [Link]("el mayor es: " + n2); else [Link]("el mayor es: " + n3); } }
9. Programa que lea tres nmeros enteros H, M, S que contienen hora, minutos y segundos respectivamente, y comprueba si la hora que indican es una hora vlida. import [Link].*; public class condicional1_16 { public static void main(String[] args) { int H,M,S; Scanner sc = new Scanner([Link]); [Link]("Introduzca hora: "); H = [Link](); [Link]("Introduzca minutos: "); M = [Link](); [Link]("Introduzca segundos: "); S = [Link](); if(H>=0 && H<24 && M>=0 && M<60 && S>=0 && S<60) [Link]("Hora correcta"); else [Link]("Hora incorrecta"); } } 10. Programa que lea una variable entera mes y compruebe si el valor corresponde a un mes de 30, 31 o 28 das. Se mostrar adems el nombre del mes. Se debe comprobar que el valor introducido est comprendido entre 1 y 12. import [Link].*; public class condicional1_17 {
public static void main(String[] args) { Scanner sc = new Scanner([Link]); int mes; [Link]("Introduzca nmero de mes: "); mes = [Link](); if(mes < 1 || mes > 12) //se comprueba que el valor del mes es correcto [Link]("Mes incorrecto"); else{ //si el mes es correcto switch(mes){ //se muestra el nombre mediante una instruccin switch case 1: [Link]("Enero"); break; case 2: [Link]("Febrero"); break; case 3: [Link]("Marzo"); break; case 4: [Link]("Abril"); break; case 5: [Link]("Mayo"); break; case 6: [Link]("Junio"); break; case 7: [Link]("Julio"); break; case 8: [Link]("Agosto"); break; case 9: [Link]("Septiembre"); break; case 10: [Link]("Octubre"); break; case 11: [Link]("Noviembre"); break; case 12: [Link]("Diciembre"); break; } // mostrar si es un mes de 30, 31 0 28 das if(mes == 4 || mes == 6 || mes == 9 || mes == 11) [Link](" es un mes de 30 das"); else if(mes == 2) [Link](" es un mes de 28 das"); else [Link](" es un mes de 31 das"); } } }
Ejercicios Bsicos con estructura iterativa o repetitiva: 1. Programa Java que muestre los nmeros del 1 al 100 utilizando la instruccin while public class Main { public static void main(String[] args) { [Link]("Numeros del 1 al 100: "); int i=1; while(i<=100) { [Link](i); i++; } } }
2. Programa Java que muestre los nmeros del 1 al 100 utilizando la instruccin do..while public class Main { public static void main(String[] args) { int i = 1; [Link]("Numeros del 1 al 100: "); do{ [Link](i); i++; }while(i<=100); } } 3. Programa Java que muestre los nmeros del 1 al 100 utilizando la instruccin for public class Repetitiva1_3 { public static void main(String[] args) { [Link]("Numeros del 1 al 100: "); for(int i = 1; i<=100;i++) [Link](i); } }
4. Programa Java que muestre los nmeros del 100 al 1 utilizando la instruccin while public class Main { public static void main(String[] args) { [Link]("Numeros del 100 al 1: "); int i=100; while(i>=1) { [Link](i); i--; } } }
5. Programa Java que muestre los nmeros del 100 al 1 utilizando la instruccin do..while public class Main { public static void main(String[] args) { int i = 100; [Link]("Numeros del 100 al 1: "); do{ [Link](i); i--; }while(i>=1); } } 6. Programa Java que muestre los nmeros del 100 al 1 utilizando la instruccin for public class Repetitiva1_6 { public static void main(String[] args) { [Link]("Numeros del 100 al 1: "); for(int i=100;i>=1;i--) [Link](i); } } Ejercicios Generales 1. Intercambiar el contenido de dos variables
Programa completo: /* * Programa que lea dos variables * numricas A y B e * intercambie sus contenidos. */ import [Link].*; public class Secuenciales2_5 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int A, B, AUX; [Link]("Introduzca valor de A: "); A = [Link](); [Link]("Introduzca Valor de B: "); B = [Link](); [Link]("Valores iniciales: A = " + A + " B = " + B); //instrucciones para hacer el intercambio
//se utiliza una variable auxiliar AUX = A; A = B; B = AUX; [Link]("Valores intercambiados: A = " + A + " B = " + B); } }
import [Link].*; public class Secuenciales2_5 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int A, B, AUX; [Link]("Introduzca valor de A: "); A = [Link](); [Link]("Introduzca Valor de B: "); B = [Link](); [Link]("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; [Link]("Valores intercambiados: A = " + A + " B = " + B); } }
2. Calcular el nmero de cifras de un nmero entero import [Link].*; import [Link].*; public class Main { public static void main(String[] args) throws IOException{ Scanner sc = new Scanner([Link]); int n, digitos; char car; do{ [Link]("Introduce un nmero entero: "); n = [Link](); digitos= 0; //esta variable es el contador de dgitos while(n!=0){ //mientras a n le queden dgitos n = n/10; //le quitamos el ltimo dgito digitos++; //sumamos 1 al contador de dgitos }
[Link]("El nmero tiene " + digitos + " digitos"); [Link]("Continuar? "); car = (char)[Link](); }while(car!='n' && car != 'N'); } } 3. Pasar de grados centgrados a grados [Link] proceso de leer grados centgrados se debe repetir mientras que se responda S a la pregunta: Repetir proceso? (S/N)
public class CentigradosAKelvin { public static void main(String[] args) throws IOException{ Scanner sc = new Scanner([Link]); double temperatura; char car; do{ [Link]("Introduce temperatura en C: "); temperatura = [Link](); [Link]("Grados Kelvin ..: " + (temperatura+273)); [Link]("Repetir proceso? (S/N): " ); car = (char)[Link](); }while(car =='S' || car == 's'); } }
4. Mostrar la tabla de multiplicar de un nmero.
public class TablaMultiplicar { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int n; [Link]("Introduce un nmero entero: "); n = [Link](); [Link]("Tabla del " + n); for(int i = 1; i<=10; i++){ [Link](n + " * " + i + " = " + n*i); } } }
5. Leer nmeros y contar cuntos acaban en 2.
public class AcabadosEn2 { public static void main(String[] args) { Scanner sc = new Scanner([Link]); int n, contador=0; [Link]("Introduce un nmero entero: "); n = [Link](); while(n>=0){ if(n%10==2) //Si el nmero acaba en dos contador++; //esta variable contendr cuntos nmeros acabados en 2 se han ledo. [Link]("Introduce un nmero entero: "); n = [Link](); } [Link]("Se han introducido " + contador + " nmeros acabados en 2"); } }
6. Comprobar si un nmero es perfecto.
import [Link]; public class NumeroPerfecto { public static void main(String[] args) { int i, suma = 0, n; Scanner sc = new Scanner([Link]); [Link]("Introduce un nmero: "); n = [Link](); for (i = 1; i < n; i++) { // i son los divisores. Se divide desde 1 hasta n-1 if (n % i == 0) { suma = suma + i; // si es divisor se suma } } if (suma == n) { // si el numero es igual a la suma de sus divisores es perfecto [Link]("Perfecto"); } else { [Link]("No es perfecto"); } } }
Utilizando el algoritmo anterior vamos a escribir ahora el programa Java que muestre los nmeros perfectos entre 1 y 1000
public class NumerosPerfectos1a1000 { public static void main(String[] args) { int i, j, suma; [Link]("Nmeros perfectos entre 1 y 1000: "); for(i=1;i<=1000;i++){ // i es el nmero que vamos a comprobar suma=0; for(j=1;j<i;j++){ // j son los divisores. Se divide desde 1 hasta i-1 if(i%j==0){ suma=suma+j; // si es divisor se suma } } if(i==suma){ // si el numero es igual a la suma de sus divisores es perfecto [Link](i); } } } }
7. Mostrar los nmeros perfectos entre 1 y 1000.
public class NumerosAmigos { public static void main(String[] args) { int i,suma=0, n1, n2; Scanner sc = new Scanner([Link]); [Link]("Introduce primer nmero: "); n1 = [Link](); [Link]("Introduce segundo nmero: "); n2 = [Link](); for(i=1;i<n1;i++){ // for para sumar todos los divisores propios de n1 if(n1%i==0){ suma=suma+i; } } // si la suma de los divisores de n1 es igual a n2 if(suma==n2){ suma=0; for(i=1;i<n2;i++){ // sumo los divisores propios de n2 if(n2%i==0){
suma=suma+i; } } // si la suma de los divisores de n2 es igual a n1 if(suma==n1){ [Link]("Son Amigos"); }else{ [Link]("No son amigos"); } } else{ [Link]("No son amigos"); } } }
8. Comprobar si dos nmeros son amigos.
public class NumerosAmigos { public static void main(String[] args) { int i,suma=0, n1, n2; Scanner sc = new Scanner([Link]); [Link]("Introduce primer nmero: "); n1 = [Link](); [Link]("Introduce segundo nmero: "); n2 = [Link](); for(i=1;i<n1;i++){ // for para sumar todos los divisores propios de n1 if(n1%i==0){ suma=suma+i; } } // si la suma de los divisores de n1 es igual a n2 if(suma==n2){ suma=0; for(i=1;i<n2;i++){ // sumo los divisores propios de n2 if(n2%i==0){ suma=suma+i; } } // si la suma de los divisores de n2 es igual a n1 if(suma==n1){ [Link]("Son Amigos"); }else{ [Link]("No son amigos"); } } else{ [Link]("No son amigos");
} } }
9. Mostrar los N primeros trminos de la serie de Fibonacci
import [Link].*; /** * Serie de Fibonacci en Java * Programa que imprima los N primeros nmeros de la serie de Fibonacci. * El primer nmero de la serie es 1, el segundo nmero es 1 y cada uno de los * siguientes es la suma de los dos anteriores. * 1, 1, 2, 3, 5, 8, 13, ....... , N * @author Enrique */ public class Main{ public static void main(String[] args){ Scanner sc = new Scanner([Link]); int numero,fibo1,fibo2,i; do{ [Link]("Introduce numero mayor que 1: "); numero = [Link](); }while(numero<=1); [Link]("Los " + numero + " primeros trminos de la serie de Fibonacci son:");
fibo1=1; fibo2=1;
[Link](fibo1 + " "); for(i=2;i<=numero;i++){ [Link](fibo2 + " "); fibo2 = fibo1 + fibo2; fibo1 = fibo2 - fibo1; } [Link](); } }
10. Pasar de decimal a binario /** * Programa que pasa un nmero * de decimal a binario * @author Enrique Garca */ public class Main{ public static void main(String[] args) { int numero, exp, digito; double binario; Scanner sc = new Scanner([Link]); do{ [Link]("Introduce un numero entero >= 0: "); numero = [Link](); }while(numero<0); exp=0; binario=0; while(numero!=0){ digito = numero % 2; binario = binario + digito * [Link](10, exp); exp++; numero = numero/2; } [Link]("Binario: %.0f %n", binario); } }