Los programas siguientes utilizan esta clase Leer para que funcione, esta clase debe estar en la misma carpeta donde este cada programa. Todos los programas a continuación deben tener esta clase.
Crear este archivo java con el siguiente código:
import java.io.*;
public class Leer{
public static String dato() {
String sdato = "";
try
{
// Definir un flujo de caracteres de entrada: flujoE
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
// Leer. La entrada finaliza al pulsar la tecla Entrar
sdato = flujoE.readLine();
}
catch(IOException e) {
System.err.println("Error: " + e.getMessage());
}
return sdato; // devolver el dato tecleado
}
public static short datoShort() {
try
{
return Short.parseShort(dato());
}
catch(NumberFormatException e) {
return Short.MIN_VALUE; // valor más pequeño
}
}
public static int datoInt() {
try {
return Integer.parseInt(dato());
}
catch(NumberFormatException e) {
return Integer.MIN_VALUE; // valor más pequeño
}
}
public static long datoLong() {
try
{
return Long.parseLong(dato());
}
catch(NumberFormatException e) {
return Long.MIN_VALUE; // valor más pequeño
}
}
public static float datoFloat()
{
try
{
return Float.parseFloat(dato());
}
catch(NumberFormatException e)
{
return Float.NaN; // No es un Número; valor float.
}
}
public static double datoDouble() {
try {
return Double.parseDouble(dato());
}
catch(NumberFormatException e) {
return Double.NaN; // No es un Número; valor double.
}
}
}
_________________se crea otro archivo con la clase principal____
public class Factorial
{
// Cálculo del factorial de un número
long fact;
public static long factorial(int n)
{
long fac;
if (n == 0)
return 1;
else
fac=1;
do {
fac=fac*n;
n=n-1;
}while (n>1);
return fac;
}
public static void main(String[] args)
{
int numero=0;
long fact;
do
{
System.out.print("¿Numero a calcular su factorial? ");
numero = Leer.datoInt();
}
while (numero < 0 || numero > 25);
fact = factorial(numero);
System.out.println("\nPractica ");
System.out.println("Calculo del factorial de un numero ");
System.out.println("Realizado por: jose");
System.out.println("\nEl factorial de " + numero + " es: " + fact);
}
}
--------------------Configuration: <Default>--------------------
¿Numero a calcular su factorial? 8
Practica
Calculo del factorial de un numero
Realizado por: jose
El factorial de 8 es: 40320
Process completed.
No hay comentarios:
Publicar un comentario