你怎么理解循环?

时间:2013-11-04 22:36:02

标签: input while-loop do-while

    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的数字。显然这只是代码的一小部分,但我真的想知道为什么答案为这个。循环是我从未擅长的事情,显然它很重要。我所看到的只是通用语法答案,但如果我们不得不用英语说这句话,我们会说些什么呢?谢谢,一切顺利。

2 个答案:

答案 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。