Java - Ayuda con este programa para calcular el factorial

 
Vista:
sin imagen de perfil
Val: 28
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayuda con este programa para calcular el factorial

Publicado por Aprendiz java (16 intervenciones) el 19/05/2019 20:13:50
Me trabe en este ejercicio para usar los metodos, ciclos y sentencias if y else, espero que me ayuden a entender este ejercico de Java, se los agradesco.

ejercicio 3

Programa que permita calcular el factorial de un rango de números enteros, para ello deberás solicitar el rango inferior y el superior, validando que el rango superior no sea mayor a 50. Deberás implementar un método que reciba
el valor del factorial y acumule los valores, para al final mostrar la suma de todos los factoriales.

Por salida deberá ser como lo siguiente, considerando el rango de 1 a 10.



Este es el programa que llebo hecho, en que estoy mal???

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Factoreal_EA {
    Scanner teclado = new Scanner(System.in);
    int inferior, superior;
 
    public void entradatos(){
        System.out.println("Por favor ingrese los valores del rango");
        system.out.print("Ingrese el valor inferior del rango:");
        inferior = teclado.nextInt();
        system.out.print("Ingrese el valor superior del rango:");
        superior = teclado.nextInt();
    }
 
    public void proceso(){
        for(int x = inferior; x <= superior; x++){
            System.out.println(x);
 
    }
    public static void main(String[] args) {
        int numero=0;//**Almacena el número que se va a calcular
        int factorial = 1;//**Almacena el valor final

        System.out.print("Ingrese número a calcular su factorial:");
        numero = sc.nextInt();
        int numero1 = numero;
        while(numero !=0){
            factorial *= nuemro;
            numero --;
        }
        System.out.println("El factorial del número: "+numero1+" es:"+factorial);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 203
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con este programa para calcular el factorial

Publicado por Jose Andres (27 intervenciones) el 19/05/2019 20:44:43
Saludos, por casualidad podria proporcionar una salida de ejemplo?, no lo he comprendido completamente.

Tomando como ejemplo los rangos de 2 a 5
Los rangos son para limitar al factorial?
5*4*3*2
o
5!+4!+3!+2!
En caso de ser el segundo 50 es un numero interesante y el long dudo que alcance a guardar la suma de todos los numeros

Intente basarme en tu codigo, pero solo hace un factorial y los demas metodos no son llamados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayuda con este programa para calcular el factorial

Publicado por Aprendiz java (16 intervenciones) el 19/05/2019 20:57:42
Ese es el problema, que no me queda, sale error, posiblemente el procedimiento este mal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[Solución] Ayuda con este programa para calcular el factorial

Publicado por Billy Joel (878 intervenciones) el 19/05/2019 22:21:43
He visto tu código y los errores que tienes son 'S' y 's' además de las {}.
Tu códgio corregido quedaría así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;
 
public class Factoreal_EA {
 
    //Scanner teclado = new Scanner(System.in);
    static Scanner teclado = new Scanner(System.in);
    int inferior, superior;
 
    public void entradatos() {
        System.out.println("Por favor ingrese los valores del rango");
        //system.out.print("Ingrese el valor inferior del rango:");
        System.out.print("Ingrese el valor inferior del rango:");
        inferior = teclado.nextInt();
        //system.out.print("Ingrese el valor superior del rango:");
        System.out.print("Ingrese el valor superior del rango:");
        superior = teclado.nextInt();
    }
 
    public void proceso() {
        for (int x = inferior; x <= superior; x++) {
            System.out.println(x);
 
        }
    }
 
    public static void main(String[] args) {
        int numero = 0;//**Almacena el número que se va a calcular
        int factorial = 1;//**Almacena el valor final

        System.out.print("Ingrese número a calcular su factorial:");
        //numero = sc.nextInt();
        numero = teclado.nextInt();
        int numero1 = numero;
        while (numero != 0) {
            //factorial *= nuemro;
            factorial *= numero;
            numero--;
        }
        System.out.println("El factorial del número: " + numero1 + " es:" + factorial);
    }
}

Ahora si lo que quieres hacer es calcular el factorial entonces yo lo haría así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.Scanner;
 
public class Factoreal_EA {
 
    static Scanner teclado = new Scanner(System.in);
 
    /**
     * Devuelve el factorial de un número
     *
     * @param n número del que se quiere obtener el factorial
     * @return
     */
    private static int getFactorial(int n) {
        int f = 1;
        for (int i = n; i >= 1; i--) {
            f *= i;
        }
        return f;
    }
 
    public static void main(String [] args){
        System.out.print("Ingrese número a calcular su factorial:");
        int numero = teclado.nextInt();
        int factorial = getFactorial(numero);
        System.out.println("El factorial del número: " + numero + "\nes:" + factorial);
    }
}

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 28
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

[Solución] Ayuda con este programa para calcular el factorial

Publicado por Arturo (16 intervenciones) el 19/05/2019 23:24:02
Gracias Billy, quedo bien, y si tienes razón, en mi sintaxis estaba el error y tu corrección me gusto, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar