Scanner kb=new Scanner(System.in);
int n=kb.nextInt();
do{
System.out.println("How many numbers do you wish to store?");
}while (n<1);
所以我的问题是,我无法弄清楚如何退出这样的循环,并想知道如何这样做。我试图让用户输入一个数组大小的数字,直到他们输入大于0的数字。显然这只是代码的一小部分,但我真的想知道为什么答案为这个。循环是我从未擅长的事情,显然它很重要。我所看到的只是通用语法答案,但如果我们不得不用英语说这句话,我们会说些什么呢?谢谢,一切顺利。
答案 0 :(得分:1)
正如您所描述的,当用户输入大于零的值时,循环将退出。目前,等待用户输入的代码部分位于循环之外,因此您需要将其移入,如下所示:
int n = 0; // initialize our loop control variable
do{
System.out.println("How many numbers do you wish to store?");
n=kb.nextInt();
}while (n<1);
要回答你关于“为什么”的问题,我不确定我是否完全理解你正在寻找什么样的解释,但基本上,这段代码用简单的英语说了这样的话:
询问用户他们想要存储多少个号码。
如果用户输入的数字小于零,请再次询问他们,并继续询问他们相同的问题,直到他们给出大于零的数字
就是这样。如果我误解了你的问题,请告诉我。
答案 1 :(得分:0)
你用英语说,正是它现在所说的: 做,循环内的东西(即'{'和'}'之间的东西),而n小于1.“while”之后的逻辑表示何时停止。现在,循环中的东西实际上并没有改变n,所以你要么运行一次并退出(如果kb.nextInt()小于1),要么永远运行(如果不是)。你必须修改循环中的n。