如何避免我的循环以获取用户的上一个答案



我正在制作一个程序,该程序将接受用户关于他想要多少数字的输入,并确定给定数字之间的最高数字。之后,用户将被提示一个"是"或"否"问题。如果用户决定说是,程序将再次循环,如果不是,程序将结束。现在我的问题是,为什么它的数字是上一次跑步的最高数字?

import java.util.Scanner;
public class IT_VILLAFLOR_Lab1_Prog2
{
public static void main(String[] Args){

int num=1,num2,Largest=0,max; 
char YN;

Scanner sc = new Scanner(System.in);

System.out.print("Enter the Max Number = ");
max = sc.nextInt();

for(num=1; num<=max; num++)
{
System.out.print("Enter Number " + num + ": ");             
num2 = sc.nextInt();
if(Largest<num2)
{
Largest=num2; 
}
else if(num==max)
{
System.out.println("The Biggest number is " + Largest );
System.out.print( "Do you want to try again? Y/N ");
YN = sc.next().charAt(0);
if(YN =='Y'|| YN =='y')
{
num=0;
System.out.print('f');
System.out.print("Enter the Max Number " );
max = sc.nextInt();
}
else
{
System.exit(0);
}  

}

}
}
}

如果用户想继续,则将num重置为0。除此之外,Largest还需要重置为0。

num=0;
Largest=0; //new code

顺便说一下,您需要将线路else if(num==max)更改为if(num==max)。请尝试最大值为2、值为12、23的测试用例。

相关内容

最新更新