Urgentemente, preciso saber como se insere uma função no java!

5 respostas
diabrete

como eu faço pra inserir uma função no java??..

Estou trabalhando num programa do qual eu preciso inserir uma função ex:sqrt(x^2)…o problema está no fato de que eu não quero que ele calcule essa função de imediato, eu preciso manipula-la pela regra de Simpson…como fazer??

5 Respostas

danieldestro

Você quer saber como criar funções (métodos) em Java?

Dentro da sua classe:

[modificador de acesso] [tipo de retorno] nomeDoMetodo( [argumentos] ) [throws AlgumaException] { //implementação do método }

Exemplo:

public double somar( double a, double b ) { return a + b; }

H

o q tu quer fazer é tipo passar uma função (método) como parâmetro para outra, né?
acho q o q tu tem q fazer é associar a função q tu ia passar a um objeto e passar ESSE objeto como parâmeto pra função destino.
sacou?

T

Você precisa dar uma busca por “avaliação de expressões” ou “expression evaluation”. É que em Java não dá para fazer aquilo que se faz em Javascript (de poder avaliar uma expressão diretamente como uma string, tal como:

// Atenção, isto é Javascript, não Java
function avaliaExpressao(s) {
    alert (eval (s));
}

avaliaExpressao("Math.sqrt(2)"); // deve mostrar "1,4142135623731"

Isso já foi mostrado neste forum, basta procurar.

diabrete

Acho que é isso mesmo que o hfboom disse, e manipulapor como objeto, acho que é a unica solução…o problema e que eu não estudei java OO, so o basico mesmo e foi meu professor de Calculo Numerico que pediu o programa, veja bem:
{-------------------------------------------------------------------------}

  1. A pessoa deverá informar a função e n:
    ex: f=e^x e n=6
    (f não pode ser 1 deverá ser exp^x)
    {-------------------------------------------------------------------------}
  2. Para o usuario deverá retornar dentro de um laço o valor de n no argumento da função, e armazenar o seu somatorio em resposta:

resposta=resposta+exp^x;

retorno: resp deverá valer 21, senão causara um erro pois o programa não encontrará o x (e sim 1 sempre)…como fazer com que o programa não calcule imediatamente como 1…mas ao mesmo tempo que ele reconheça como uma função na hora que eu precisar calculá-lo??

H

vc quer reconhecer funções em tempo de execução? tipo, o usuário vai poder digitar qq função ou vai escolher entre algumas pre-definidas?

se forem pre-definidas pode fazer algo do tipo:

class FuncaoPreDefinida {

…

double calcFunc (double p1, double p2) {

return 0;

}

…

}

class FuncaoProduto extends FuncaoPreDefinida {



double calcFunc (doublep1, double p2) {

return (param[0] * param[1]);

}



}
class Controle {

…

double calcula (FuncaoPreDefinida obj, int n) {

double x;

double e = 1.7;//não sei quanto vale e!

for (int i=0; i<n; i++) {

x += obj.calcFunc (e, i);

}

return x;

}

…

}

Acho q deve ser algo desse tipo, e se o número de parâmetros for variável c pode passar por vetor…

Criado 21 de abril de 2005
Ultima resposta 24 de abr. de 2005
Respostas 5
Participantes 4