antwoord is oneindig?

Status
Niet open voor verdere reacties.

Chargeotto

Gebruiker
Lid geworden
22 aug 2007
Berichten
147
Ik heb een java programma gemaakt welke een waarde omrekent van fahrenheit naar graden, de formule hiervoor is graden = (fahrenheit-32) / (5/9);

Code:
public class FtoG 
{
    public static void main (String[] args)
    {
        double temperatuur = 50;
        double graden = ftog(temperatuur);
        System.out.println(graden);
    }

    public static double ftog(double getal)
    {
        getal = ((getal-32)/(5/9));
        return getal;
    }

}

Waarom geeft mijn programma als antwoord:

run:
Infinity
BUILD SUCCESSFUL (total time: 0 seconds) ?
 
re

Het lijkt me een goeie formule. Maar vreemd dat hij dat zegt. Je zou eens naar de fout opzoek moeten gaan. Heb je misschien ergens een spatie vergeten?
 
Het lijkt me een goeie formule. Maar vreemd dat hij dat zegt. Je zou eens naar de fout opzoek moeten gaan. Heb je misschien ergens een spatie vergeten?

Als ik het gedeelte weglaat waarbij er gedeeld wordt in de formule, en alleen -32 laat berekenen, doet hij het wel, dus de fout zit denk ik in het gedeelte waarbij er gedeeld wordt met 5/9.
 
Er worden hier integers op elkaar gedeeld, dus is het resultaat ook een integer. En in integer is 5/9=0. Probeer maar:
Code:
 System.out.print(5/9);
Wat wel werkt is:
Code:
getal = ((getal-32)/(5f/9f));
 
Er worden hier integers op elkaar gedeeld, dus is het resultaat ook een integer. En in integer is 5/9=0. Probeer maar:
Code:
 System.out.print(5/9);
Wat wel werkt is:
Code:
getal = ((getal-32)/(5f/9f));

Hij doet het nu goed :), wat is de betekenis van de f achter het getal?
 
Wat wel werkt is:
Code:
getal = ((getal-32)/(5f/9f));

Wat ook werkt is
Code:
getal = ((getal-32)/(5.0/9.0));

Overigens, als ik even mag muggenziften, berekent dit programma niet van fahrenheit naar graden, maar van graden Fahrenheit naar graden Celcius (graden als eenheid heb je bij hoeken).
 
Wat ook werkt is
Code:
getal = ((getal-32)/(5.0/9.0));

Overigens, als ik even mag muggenziften, berekent dit programma niet van fahrenheit naar graden, maar van graden Fahrenheit naar graden Celcius (graden als eenheid heb je bij hoeken).

Er is nog een mug te ziften: Dit programma rekent niet van Fahrenheit naar Celsius, daar is een andere formule voor nodig:
Code:
getal = ((getal-32)/(9f/5f));
 
Er is nog een mug te ziften: Dit programma rekent niet van Fahrenheit naar Celsius, daar is een andere formule voor nodig:
Code:
getal = ((getal-32)/(9f/5f));

Volgens Wikipedia is het een andere formule:
Code:
getal = ((getal-32) * (5.0/9.0));
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan