Java 1-10之间的正整数的阶乘。问题:仅当有效输入大于以前的输入时有效
第一次运行时一切正常,但如果我输入的有效数字介于1和10之间,低于第一次输入,则输出基本保持不变 第一个输入之后的输入只有在高于先前输入时才能正常工作Java 1-10之间的正整数的阶乘。问题:仅当有效输入大于以前的输入时有效,java,validation,input,while-loop,factorial,Java,Validation,Input,While Loop,Factorial,第一次运行时一切正常,但如果我输入的有效数字介于1和10之间,低于第一次输入,则输出基本保持不变 第一个输入之后的输入只有在高于先前输入时才能正常工作 import java.util.Scanner; public class Lab6_2{ public static void main(String []args){ //declarations Scanner input = new Scanner(System.in); char flagCont
import java.util.Scanner;
public class Lab6_2{
public static void main(String []args){
//declarations
Scanner input = new Scanner(System.in);
char flagContinue;
int userOneToTen;
int factorialInteger = 1, counterA = 1;
//process
System.out.println("Do you want to start(Y/N):");
flagContinue = input.next().charAt(0);
while(flagContinue == 'y' || flagContinue == 'Y'){
System.out.println("Enter an integer (1 - 10):");
userOneToTen = input.nextInt();
while(counterA <= userOneToTen){
if(userOneToTen <= 0 || userOneToTen > 10){
System.out.println("Invalid entry. Please enter an integer between 1-10");
userOneToTen = input.nextInt();
}//end if
factorialInteger = factorialInteger * counterA;
counterA ++;
}//end while
System.out.println(userOneToTen + "!" + factorialInteger);
System.out.println("Do you want to start(Y/N):");
flagContinue = input.next().charAt(0);
}//end while
}//end main
}//end class
import java.util.Scanner;
公共级Lab6_2{
公共静态void main(字符串[]args){
//声明
扫描仪输入=新扫描仪(System.in);
继续;
int-useronetone;
整数阶乘整数=1,计数器A=1;
//过程
System.out.println(“是否要启动(Y/N):”;
flagContinue=input.next().charAt(0);
while(flagContinue=='y'| | flagContinue=='y'){
System.out.println(“输入一个整数(1-10):”;
userOneToTen=input.nextInt();
而(counterA您必须在外部将counterA
和factorialInteger
设置回一
while循环
counterA = 1;
factorialInteger = 1
如果您想第二次查找阶乘,请在while循环中将值设置为factorialInteger=1;counterA=1;
。这很有效!非常感谢!我整天都在关注这个问题,根本无法解决它。只需调试您的代码以了解问题所在。很高兴帮助您。感谢您的回复。事实证明,这是正确的-在大while循环中将counterA和factorialInteger初始化为1修复了我的问题!
}//end while
counterA = 1;
factorialInteger = 1;
}//end main