You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何编写while循环打印小于给定n且能被10整除的正整数

代码问题分析

你的代码存在两个核心逻辑错误:

  • 循环条件设置错误:while (n % 10 < 1) 仅当当前n是10的倍数时才会进入循环,你每次循环只把n减1,只要遇到不是10的倍数的数值,循环就会直接终止,无法遍历到所有符合条件的数。比如输入n=100时,第一次循环输出100,n变为99后99%10=9不满足条件,循环直接停止,最终只会输出不符合要求的100。
  • 不符合题目约束:题目要求输出小于给定n的数,你的代码首先输出的是n本身,完全不符合要求。
实现思路

我们可以从最小的符合要求的正整数(10)开始遍历,每次递增10,只要当前数值小于n就持续输出,不需要额外做整除判断,逻辑更简洁。

修正后代码
Scanner in = new Scanner(System.in);
System.out.print("n: ");
int n = in.nextInt();

int num = 10;
while (num < n) {
    System.out.print(num + " ");
    num += 10;
}
System.out.println();
验证效果

输入n=100时,num从10开始每次加10,依次输出10、20……直到num=90输出后,num变为100不满足<100的条件退出循环,最终输出正好是10 20 30 40 50 60 70 80 90,完全符合预期。

内容的提问来源于stack exchange,提问作者Marshall McCurdy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:36:03