Java :: Aufgabe #36 :: Lösung #3

14 Lösungen Lösungen öffentlich
#36

Fakultät von n berechnen

Anfänger - Java von Dome - 03.01.2013 um 01:39 Uhr
Schreiben Sie ein Programm, oder eine Funktion, die die Fakultät einer beliebigen Zahl berechnet ohne eine vorhandene Funktion aus der Programmbibliothek zu verwenden.

Konsolenausgabe:

Fakultät von n: 10
3628800
#3
vote_ok
von PTPHard (540 Punkte) - 29.05.2014 um 00:13 Uhr
Quellcode ausblenden Java-Code
public class faculty
{
    int _fac;
    
    public faculty(int fac)
    {
        _fac = fac;
    }
    
    public int nonRek()
    { 
        int fak = 1;
        if(_fac == 0 || _fac == 1)
        {
            return 1;
        }
        else
        {
            for(int i=1; i<=_fac; i++)
            {
                fak *= i;
            }
            return fak;
        }
    }


Und JUnit-Test:

Quellcode ausblenden Java-Code
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class facTest
{
    faculty fak0 = new faculty(1);
    faculty fak1 = new faculty(1);
    faculty fak2 = new faculty(2);
    faculty fak3 = new faculty(3);
    faculty fak4 = new faculty(4);
    faculty fak5 = new faculty(5);
    faculty fak6 = new faculty(6);
    faculty fak7 = new faculty(7);
    faculty fak8 = new faculty(8);
    faculty fak9 = new faculty(9);
    faculty fak10 = new faculty(10);
    
    @Test
    public void nonRekPositiv()
    {
        assertEquals("Wrong!", 1, fak0.nonRek());
        assertEquals("Wrong!", 1, fak1.nonRek());
        assertEquals("Wrong!", 2, fak2.nonRek());
        assertEquals("Wrong!", 6, fak3.nonRek());
        assertEquals("Wrong!", 24, fak4.nonRek());
        assertEquals("Wrong!", 120, fak5.nonRek());
        assertEquals("Wrong!", 720, fak6.nonRek());
        assertEquals("Wrong!", 5040, fak7.nonRek());
        assertEquals("Wrong!", 40320, fak8.nonRek());
        assertEquals("Wrong!", 362880, fak9.nonRek());
        assertEquals("Wrong!", 3628800, fak10.nonRek());
    }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben