método delta em java.[Resolvido]

14 respostas
Rudy

Pessoas blz?

Eu estava escrevendo uma classe EquaçãoDoSegundoGrau, ela tem um método delta que está me dando uma dor de cabeça incrivel, ele está escrito assim…

public double delta()
    {
        
        delta = Math.pow(b,2)-4*a*c;
        
        return delta;
    }

Considerando a=1, b=4 e c=3 o resutado de delta deveria ser 36, mas está retornando 4. O que eu fiz de errado ja tentei escrever a formula de outro jeito e ñ deu certo. Algué pode me dizer como faze? Nessa formula o que o java faz primeiro, multiplica o subtrai qual é a ordem?

14 Respostas

alucardeck

[b]Considerando a=1, b=4 e c=3 o resutado de delta deveria ser 36, mas está retornando 4.

delta = Math.pow(b,2)-4ac;
[/b]


b*b - 4 * a * c

44 - 41*3
16 - 12
4

acho q o errado é vc =)

apenas lembrando… o Java não erra… quem erra é o programador :wink:

F

Rudy,

está correto o resultado

a=1, b=4 e c=3

b² = 16
4ac = 12
16-12 = 4

b²-4ac neste caso é igual a 4 mesmo.
Sua resposta de 36 é que está errada.

Rudy

mas isso ñ deveri se feito assim
(44)-413
16-4
13
12
1*3
36.

peczenyj

Rudy:
mas isso ñ deveri se feito assim
(44)-413
16-4
13
12
1*3
36.

primeiro vc resolve as potências e raizes,
depois as multiplicações e divisões
depois então as somas e subtrações.

SE quiser, coloque os parentesis apropriados para forçar o procedência dos operadores que vc desejar, mas a matemática é assim :wink:

Rudy

peczenyj:
Rudy:
mas isso ñ deveri se feito assim
(44)-413
16-4
13
12
1*3
36.

primeiro vc resolve as potências e raizes,
depois as multiplicações e divisões
depois então as somas e subtrações.

SE quiser, coloque os parentesis apropriados para forçar o procedência dos operadores que vc desejar, mas a matemática é assim :wink:

peczeny eu entendi o que vc falow, ai mudei para “math.pow(4,2-4)13” e o resulta foi 0.1875 depois tentei
math.pow((4,2)-4)13” ai deu erro na linha.

alucardeck

se vc ker fazer do “jeito errado”

faz assim

double delta = ((b*b)-4)ac

ou melhor ainda…
b*(b-4)ac
4*(4-4)13
401*3
0

uhul o/ :lol:

Rudy

alucardeck:
se vc ker fazer do “jeito errado”

faz assim

double delta = ((b*b)-4)ac

ou melhor ainda…
b*(b-4)ac
4*(4-4)13
401*3
0

uhul o/ :lol:

Muito bom alurcardeck, vlw…
Desse jeito funcionou, mas eu ainda ñ entende por que usando o math.pow ñ funcionou se a lógica é a mesama, pelo menos me parece…

alucardeck

é a mesma logica sim… mas vc implementou errado…

Math.pow(b,2) é o mesmo que b*b

entao vc pos

math.pow(4,2-4) seria o mesmo q (4,-2)… então é a potencia negativa de 4… faz com q o numero fique abaixo de 1…

deveria ficar
( math.pow(4,2)-4 )ac

mas pra simplificar nesse caso
pode usar b*b mesmo

M

Rudy:
alucardeck:
se vc ker fazer do “jeito errado”

faz assim

double delta = ((b*b)-4)ac

ou melhor ainda…
b*(b-4)ac
4*(4-4)13
401*3
0

uhul o/ :lol:

Muito bom alurcardeck, vlw…
Desse jeito funcionou, mas eu ainda ñ entende por que usando o math.pow ñ funcionou se a lógica é a mesama, pelo menos me parece…

Nunca usei, mas pelo que me parece o Math.pow(b,2) ele o valor da variavel b ao quadrado. O seu

math.pow((4,2)-4)13

faz

(4*4-4))13

eita, nem vi que já tinham respondido =S

Rudy

alucardeck:
é a mesma logica sim… mas vc implementou errado…

Math.pow(b,2) é o mesmo que b*b

entao vc pos

math.pow(4,2-4) seria o mesmo q (4,-2)… então é a potencia negativa de 4… faz com q o numero fique abaixo de 1…

deveria ficar
( math.pow(4,2)-4 )ac

mas pra simplificar nesse caso
pode usar b*b mesmo

Não entendo uma coisa, ja entendi a lógica, mas por que quando eu tento usar ( math.pow(4,2)-4 )ac; ñ compila?

alucardeck

pq o math.pow só aceita 2 parametros…

o numero e a potencia desejada…
math.pow(X,Y) <— o certo

vc tentou
math.pow( (X,Y)- Z ) <— errado

Rudy

pq o math.pow só aceita 2 parametros…

o numero e a potencia desejada…
math.pow(X,Y) <— o certo

vc tentou
math.pow( (X,Y)- Z ) <— errado

Agora entendi, vlw pessoas…

O

Rudy, agora que você já entendeu sobre a precedência e conseguiu chegar no resultado esperado, deixa a função como estava no começo, que é o jeito certo de aplicar a fórmula do delta.

Rudy

ok :smiley:

Criado 12 de agosto de 2008
Ultima resposta 12 de ago. de 2008
Respostas 14
Participantes 6