首页 > 解决方案 > 如何让它运行直到用户输入 0 或负数?

问题描述

我很想知道如何让它运行直到用户输入 0,我尝试做 while (i <=number) && (number != 0) 但它没有用。

import java.util.Scanner;

public class Factorial {
    private static Scanner sc;

    public static void main(String args[]){
          int i =1, factorial=1, number;
          System.out.println("Enter the number to which you need to find the factorial:");
          sc = new Scanner(System.in);
          number = sc.nextInt();

          while (i <=number) {
             factorial = factorial * i;
             i++;
          }
          System.out.println("Factorial of the given number is:: "+factorial);
    }
}

标签: javaloops

解决方案


将 number 初始化为非零整数并将所有内容包含在 while 循环中。

public class Main {
    private static Scanner sc;

    public static void main(String args[]){
        int number = 7; // can just use a random starting number which is not 0
        while (number != 0) { // Add a while loop to make it keep asking for factorials until 0 is given to quit
            int i = 1, factorial = 1;
            System.out.println("Enter the number to which you need to find the factorial or enter 0 to quit:");
            sc = new Scanner(System.in);
            number = sc.nextInt();

            while (i <= number) {
                factorial = factorial * i;
                i++;
            }
            System.out.println("Factorial of the given number is:: " + factorial);
        }
        System.out.println("Thanks for using the factorial calculator. ");

    }
}

推荐阅读