1
    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 的值。显然这只是代码的一小部分,但我真的想知道答案的原因这个。循环是我从来不擅长的事情,显然它很重要。我所看到的只是通用语法答案,但如果我们必须用英语说这个,我们在说什么?谢谢,一切顺利。

4

2 回答 2

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);

为了回答你关于“为什么”的问题,我不确定我是否完全理解你在寻找什么样的解释,但基本上,这段代码用简单的英语说这样的话:

询问用户他们想要存储多少个号码。

如果用户输入的数字小于零,请再次询问他们,并继续询问相同的问题,直到他们给出大于零的数字

就是这样。如果我误解了你的问题,请告诉我。

于 2013-11-04T22:41:56.760 回答
0

你用英语说,正是它现在所说的:Do,循环内的东西(即'{'和'}'之间的东西),而n小于1。“之后的逻辑而”表示何时停止。现在,你的循环中的东西实际上并没有改变 n,所以你要么运行一次然后退出(如果 kb.nextInt() 小于 1),或者永远运行(如果不是)。您必须在循环内修改 n 。

于 2013-11-04T22:39:46.807 回答