• 06-10-2023, 22:05:03
    #1
    Faktoriyel uygulaması yaptım ancak 16 dan sonra eksi sonuç veriyor sebebi nedir acaba



    package merhabadunya;
    import java.util.Scanner;

    public class Merhabadunya {


    public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    System.out.println("Sayıyı giriniz:");
    int sayı=scan.nextInt();
    int faktoriyel = 1;
    while(sayı>0){

    faktoriyel*=sayı;
    sayı--;
    }
    System.out.println(faktoriyel);


    }

    }
  • 06-10-2023, 22:32:39
    #2
    Faktöriyel değil ki bu hocam
  • 07-10-2023, 12:05:42
    #3
    integer değişken tipinin sınırları aşıldığı için - değer olarak sonuç vermektedir. Değişken tipini long yapar isen problem çözülecektir.