有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在程序中不计算1

import java.util.Scanner;

public class FactMore {

    public static void main(String[] args) {

       Scanner keyboard = new Scanner(System.in);
        int n=1;

        int factorial = factorial(n);   

        while (n >= 1) {
            System.out.print("Enter a non-negative integer (-1 to quit) : ");
            n = keyboard.nextInt();
            factorial = factorial(n);
            System.out.println(n + "! = " + factorial);}

        if (n == 0) {
            System.out.print(n = 1); }
        if (n == -1) {
            System.out.print("Goodbye!"); }

    }

    public static int factorial(int n) {

        int factorial = 1;

        for(int i = 1; i <= n; i++) {
            factorial = factorial * i; }

        return factorial;
        }
}

我正在编写一个程序,反复计算被插补数字的阶乘,直到输入-1为止。如何使程序不打印-1!=1当我试图停止程序时?谢谢


共 (1) 个答案

  1. # 1 楼答案

    import java.util.Scanner;
    
    public class FactMore {
    
        public static void main(String[] args) {
    
            Scanner keyboard = new Scanner(System.in);
            int n=1;
    
            int factorial = factorial(n);   
    
            while (n >= 1) {
                System.out.print("Enter a non-negative integer (-1 to quit) : ");
                n = keyboard.nextInt();
                if (n == 0) {
                    System.out.print(n = 1);
                } else if (n == -1) {
                    System.out.print("Goodbye!"); 
                } else {
                    factorial = factorial(n);
                    System.out.println(n + "! = " + factorial);
                }
            }
        }
    
        public static int factorial(int n) {
    
            int factorial = 1;
    
            for(int i = 1; i <= n; i++) {
                factorial = factorial * i; 
            }
    
            return factorial;
        }
    }