Java测验循环条件疑问:无法确定终止条件及n未声明问题求解
分析这道Java循环题的解法
咱们先把核心需求理清楚:题目要求循环在i至少为34时终止,也就是当i >= 34的时候,循环要停下来。而while循环的执行逻辑是括号内条件为true时继续跑循环体,条件为false时终止,所以咱们得写出「循环继续执行」的条件——也就是i还没达到34的时候继续循环。
那直接对应的填写内容就是:
while (i < 34)
这里补充说下你纠结的n的问题:既然教学人员明确代码是片段,那默认n是已经声明过的合理变量(比如正整数,毕竟如果n是0、1或者负数,循环确实可能出问题,但测验题一般默认n是能让i递增到34的正整数,不会搞极端情况)。
咱们再验证下逻辑:
- 初始
i=1,满足i < 34,进入循环执行i = i*n; - 每次循环后
i都会变大(假设n>1),直到某次循环后i >= 34,此时while条件变为false,循环终止,完全符合题目要求。
额外提一句:如果硬要考虑极端场景(比如
n<=1),这个条件确实有漏洞,但作为标准化测验题,出题人肯定是基于n为大于1的正整数来设计的,所以i < 34就是正确答案。
内容的提问来源于stack exchange,提问作者M.A.F.
相关产品推荐
相关产品推荐

