使用while循环获取Java阶乘程序,以便在用户输入"y"并使阶乘部分正常工作时不断重复。
import java.util.Scanner;
public class FactorialCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = "y";
while (input.equalsIgnoreCase("y")) {
System.out.print("请输入一个正整数:");
int number = scanner.nextInt();
long factorial = calculateFactorial(number);
System.out.println(number + "的阶乘是:" + factorial);
System.out.print("是否继续计算阶乘?(y/n):");
input = scanner.next();
}
}
private static long calculateFactorial(int number) {
long factorial = 1;
for (int i = 1; i <= number; i++) {
factorial *= i;
}
return factorial;
}
}
这个程序使用了while循环来实现重复计算阶乘的功能。用户可以输入一个正整数,程序会计算该数的阶乘并输出结果。然后程序会询问用户是否继续计算阶乘,如果用户输入"y",则继续循环,否则退出程序。
在这个程序中,我们使用了Scanner类来获取用户的输入。首先,我们声明一个Scanner对象scanner,并将其与System.in关联,以便从控制台获取用户输入。然后,我们使用一个字符串变量input来存储用户的输入,初始值为"y"。
接下来,我们使用while循环来实现重复计算阶乘的功能。循环条件为input.equalsIgnoreCase("y"),即当用户输入的字符串与"y"相等(忽略大小写)时,循环继续执行。循环体内部首先提示用户输入一个正整数,然后使用scanner.nextInt()方法获取用户输入的整数,并将其存储在变量number中。
接着,我们调用calculateFactorial()方法来计算number的阶乘,并将结果存储在变量factorial中。calculateFactorial()方法使用一个for循环来计算阶乘,从1到number依次相乘,并将结果返回。
最后,我们输出计算结果,并询问用户是否继续计算阶乘。如果用户输入"y",则将其赋值给input,循环继续执行;否则,循环结束,程序退出。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云