
Ejercicios resueltos utilizando métodos
En los siguientes ejercicios, a los métodos se les declara la palabra reservada static ya que los llamamos desde el método main que es estático.
1) Hacer un programa para ingresar un número entero y reportar su factorial.
import java.util.Scanner;
public class Ejercicio01 {
public static double factorial(int numero){
double factorial=1;
for(int i=1;i<=numero;i++)
factorial = factorial*i;
return factorial;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
do{
System.out.print(«Ingresar numero: «);
numero = entrada.nextInt();
}while(numero<0);
System.out.println(«El factorial es: » + factorial(numero));
}
}
2) Hacer un programa para ingresar dos números enteros y reportar su máximo común divisor.
import java.util.Scanner;
public class Ejercicio02 {
public static int mcd(int numero1, int numero2){
int divisor=2, mcd=1;
while(divisor<=numero1 && divisor<=numero2){
if(numero1%divisor == 0 && numero2%divisor == 0)
{
mcd = mcd*divisor;
numero1 = numero1/divisor;
numero2 = numero2/divisor;
}
else
divisor++;
}
return mcd;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero1, numero2;
do{
System.out.print(«Ingresar primer numero: «);
numero1 = entrada.nextInt();
}while(numero1<0);
do{
System.out.print(«Ingresar segundo numero: «);
numero2 = entrada.nextInt();
}while(numero2<0);
System.out.println(«El maximo comun divisor de «+numero1+» y «+numero2+» es: »
+ mcd(numero1,numero2));
}
}
3) Hacer un programa para ingresar un número entero y reportar todos sus divisores.
import java.util.Scanner;
public class Ejercicio03 {
public static void reportarDivisores(int numero){
System.out.println(«Los divisores del numero son: «);
for(int divisor=1;divisor<=numero;divisor++){
if(numero%divisor == 0)
System.out.print(divisor + » «);
}
System.out.println();
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
do{
System.out.print(«Ingresar numero: «);
numero = entrada.nextInt();
}while(numero<=0);
reportarDivisores(numero);
}
}
4) Hacer un programa para ingresar un número entero y reportar sus factores primos.
import java.util.Scanner;
public class Ejercicio04 {
public static void reportarFactoresPrimos(int numero){
int divisor=2;
while(numero>1){
while(numero%divisor != 0)
divisor = divisor+1;
System.out.print(divisor + » «);
numero = numero/divisor;
}
System.out.println(«»);
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
do{
System.out.print(«Ingresar numero: «);
numero = entrada.nextInt();
}while(numero<=0);
reportarFactoresPrimos(numero);
}
}
5) Hacer un programa para ingresar un número y reportar si es un número primo.
import java.util.Scanner;
public class Ejercicio05 {
public static boolean esPrimo(int numero){
int contadorDivisor=0;
for(int i=1;i<=numero;i++){
if(numero%i == 0)
contadorDivisor++;
}
if(contadorDivisor == 2)
return true;
else
return false;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
do{
System.out.print(«Ingresar numero: «);
numero = entrada.nextInt();
}while(numero<=0);
if(esPrimo(numero))
System.out.println(«El numero es primo»);
else
System.out.println(«El numero no es primo»);
}
}
6) Calcular el valor de la siguiente sumatoria:
suma = 1 + x + x2/2! + x3/3! + x4/4! + . . . + xn/n!
import java.util.Scanner;
public class Ejercicio06 {
public static double suma(double x, int n){
double suma=1, factorial=1, producto=1;
for(int i=1;i<=n;i++){
factorial = factorial*i;
producto = producto*x;
suma = suma+producto/factorial;
}
return suma;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double x;
int n;
System.out.print(«Ingresar x: «);
x = entrada.nextDouble();
System.out.print(«Ingresar n: «);
n = entrada.nextInt();
System.out.println(«El valor de la sumatoria es: » + suma(x,n));
}
}
7) Hacer un programa para ingresar el radio y la altura de un cilindro y calcular su volumen.
import java.util.Scanner;
public class Ejercicio07 {
public static double calcularVolumen(double radio, double altura){
double volumen;
volumen = Math.PI*Math.pow(radio,2)*altura;
return volumen;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double radio, altura;
System.out.print(«Ingresar radio: «);
radio = entrada.nextDouble();
System.out.print(«Ingresar altura: «);
altura = entrada.nextDouble();
System.out.println(«El volumen del cilindro es: »
+ calcularVolumen(radio,altura));
}
}
8) En el curso de Java se evalúa 4 exámenes de las cuales se elimina la menor nota. Hacer un programa para ingresar las notas de los 4 exámenes y reportar la nota eliminada y el promedio final del alumno.
import java.util.Scanner;
public class Ejercicio08 {
public static double reportarNotaMenor(double nota1, double nota2, double nota3, double nota4){
double menorNota = nota1;
if(nota2<menorNota)
menorNota = nota2;
if(nota3<menorNota)
menorNota = nota3;
if(nota4<menorNota)
menorNota = nota4;
return menorNota;
}
public static double calcularPromedio(double nota1, double nota2, double nota3, double nota4){
double promedio;
promedio = (nota1+nota2+nota3+nota4-reportarNotaMenor(nota1,nota2,nota3,nota4))/3;
return promedio;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double nota1, nota2, nota3, nota4;
System.out.print(«Ingresar nota 1: «);
nota1 = entrada.nextDouble();
System.out.print(«Ingresar nota 2: «);
nota2 = entrada.nextDouble();
System.out.print(«Ingresar nota 3: «);
nota3 = entrada.nextDouble();
System.out.print(«Ingresar nota 4: «);
nota4 = entrada.nextDouble();
System.out.println(«La nota eliminada es: »
+ reportarNotaMenor(nota1,nota2,nota3,nota4));
System.out.println(«El promedio final es: »
+ calcularPromedio(nota1,nota2,nota3,nota4));
}
}
9) Hacer un programa para ingresar el tiempo recorrido en segundos y calcular la altura que cae un objeto.
(H = 0.5 * G * T² ) , G = 9.8 m/seg²
import java.util.Scanner;
public class Ejercicio09 {
public static double calcularAltura(double tiempoSegundos){
return 0.5*9.8*Math.pow(tiempoSegundos,2);
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double tiempoSegundos;
System.out.print(«Ingresar el tiempo recorrido en segundos: «);
tiempoSegundos = entrada.nextDouble();
System.out.println(«La altura es: » + calcularAltura(tiempoSegundos));
}
}
10) Hacer un programa para ingresar un número que represente segundos y determinar a cuanto equivale en horas, minutos y segundos.
Ejemplo: Si se ingresa 9500 segundos el programa debería reportar: 2 horas, 38 minutos y 20 segundos.
import java.util.Scanner;
public class Ejercicio10 {
public static void reportarHora(int tiempoSegundos){
int hora, minutos, segundos;
hora = tiempoSegundos/3600;
tiempoSegundos = tiempoSegundos%3600;
minutos = tiempoSegundos/60;
segundos = tiempoSegundos%60;
System.out.println(«Equivale a: «+hora+» horas , «+minutos+» minutos , «
+ «»+segundos+» segundos»);
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int tiempoSegundos;
System.out.print(«Ingresar tiempo en segundos: «);
tiempoSegundos = entrada.nextInt();
reportarHora(tiempoSegundos);
}
}