Foro de elhacker.net

Programación => Java => Mensaje iniciado por: juandtovar en 18 Febrero 2018, 18:56 pm



Título: Error código
Publicado por: juandtovar en 18 Febrero 2018, 18:56 pm
Necesito ayuda con este código para la función seno. Sé que tengo un error .class pero ni siquera sé qué es eso

public class MyClass {
    public static void main(String args[]) {
    seno(double x){
      int i;
      double s = 0;
      int signo = 1;
      for(i=1; i<13; i+=2){

         s += signo*pow(x, i)/factorial(i);
            signo *= -1;

      }

      return s;
   }

        System.out.println(x);
    }
}


Título: Re: Error código
Publicado por: rub'n en 20 Febrero 2018, 18:16 pm
Necesito ayuda con este código para la función seno. Sé que tengo un error .class pero ni siquera sé qué es eso

Código
  1. public class MyClass {
  2.    public static void main(String args[]) {
  3.    seno(double x){
  4. int i;
  5. double s = 0;
  6. int signo = 1;
  7. for(i=1; i<13; i+=2){
  8.  
  9. s += signo*pow(x, i)/factorial(i);
  10. signo *= -1;
  11.  
  12. }
  13.  
  14. return s;
  15. }
  16.  
  17.        System.out.println(x);
  18.    }
  19. }

Puedes ayudar mucho mas ofreciendo una mejor descripción de tu error issue, etc... y que deseas hacer

  • Usa Código GeSHi y usa java
  • El log del error que te arroja la (CLI consola) o tu IDE puedes mostrarlo a ver
  • El método seno lo haces dentro del main MAL MAL y debe ser static para invocarlo desde el main o crear un objeto de MyClass e invocarlo
  • El método factorial debe existir también

Fíjate que invocamos al método seno desde el contructor ver linea 9 e imprimimos su valor retorna double, también esta la otra manera como te describe @Shell Root mas abajo
  • Añadida Math.pow linea 25
  • Añadido Método factorial
  • Aun queda la duda que es lo que deseas

Código
  1. package foro;
  2.  
  3. public class ErrorCodigo {
  4.  
  5.    private static final Double X = 20.5;
  6.  
  7.    public ErrorCodigo() {
  8.  
  9.        System.out.println("Resultado: "+seno(X)); //20.5
  10.  
  11.    }
  12.  
  13.    private Double factorial(final int n) {
  14.            if (n==0)
  15.                return new Double(1);
  16.            else
  17.                return n*(factorial(n-1));
  18.    }
  19.  
  20.    private Double seno(double x) {
  21.        int i = 0;
  22.        double s = 0;
  23.        int signo = 1;
  24.        for(i=1; i<13; i+=2){
  25.            s += signo * Math.pow(x, i) / factorial(i); // añadio Math.pow
  26.            signo *= -1;
  27.        }
  28.        return s;
  29.    }
  30.    public static void main(String ...BlaBla) {
  31.        new ErrorCodigo();
  32.    }
  33. }
  34.  


Título: Re: Error código
Publicado por: Shell Root en 20 Febrero 2018, 19:38 pm
Para definir una función (retorno de valor), es así:
Código
  1. public class MyClass {
  2.    public static void main(String args[]) {
  3.        System.out.println( PoC("shellroot") );
  4.    }
  5.  
  6.    public static String PoC(String Nick){
  7.        return Nick;
  8.    }
  9. }

Lo que tienes definido es un metodo (ejecuta acciones). Aprende la diferencia y así sabrás donde tienes el error.