[Java] Wartość NaN jako wynik

0

Witam

W pliku z którego czytane są dane do zadania statystyczengo, wystepują 3 klasy.
Z tym, że liczebność klasy 2 jest równa zero, tzn. nie występuje wcale.
Podczas dalszych obliczeń, jednak muszę odwołać się do klasy 2 i wtedy jako wynik otrzymuję NaN.
Wynika to z dzielenia 0/0 i nie bardzo wiem jak to obejść.

Czy można NaN przekonwertować na 0?

Pozdrawiam

0
Double d = ...;
if (d == Double.NaN) d = new Double(0);

Moze to zadziala ;) A jesli nie, to uzyj zamiast "==" metody "equals()" albo "compareTo()". Moze pomoze ;)

0

Witam

public double c=0;
public double b=0;
public double wynik;

public void Obliczenie(){
        wynik = c /b;
        if(wynik == Double.NaN){
            wynik = new Double(0);
        System.out.println("wynik = " + wynik);
        }
        else{
            System.out.println("else wynik = " + wynik);
        }
    }

run:
else wynik = NaN
BUILD SUCCESSFUL (total time: 1 second)

Metoda

equals()

kompilator zgłasza: double cannot be dereferenced

Pozdrawiam

0

Witam

public void Obliczenie(){

        wynik= c /b;
        if(Double.isNaN(wynik)){
            wynik = 0;
        System.out.println("wynik = " + wynik);
        }
        else{
            System.out.println("else wynik = " + wynik);
        }
}

Działa ;-)

Pozdrowienia

1 użytkowników online, w tym zalogowanych: 0, gości: 1