Java新手求助:不定整数分组统计程序功能异常排查
Java 整数分类统计完整实现方案
嘿,我帮你搞定这个作业问题!先给你一份能直接运行的代码,然后咱们聊聊里面的关键细节,保证你能看懂:
import java.util.Scanner; public class NumberClassifier { public static void main(String[] args) { // 初始化统计计数器 int greaterThan100 = 0; int lessThan100 = 0; int equalTo100 = 0; int totalCount = 0; Scanner scanner = new Scanner(System.in); System.out.println("请输入整数(输入负数结束程序):"); while (true) { // 读取用户输入的整数 int num = scanner.nextInt(); // 输入负数时终止循环 if (num < 0) { break; } // 分类统计 totalCount++; if (num > 100) { greaterThan100++; } else if (num < 100) { lessThan100++; } else { equalTo100++; } } // 输出统计结果 System.out.println("=== 统计结果 ==="); System.out.println("大于100的整数数量:" + greaterThan100); System.out.println("小于100的整数数量:" + lessThan100); System.out.println("等于100的整数数量:" + equalTo100); System.out.println("总输入整数数量:" + totalCount); scanner.close(); } }
关键细节拆解
- 输入处理:用
Scanner类读取控制台输入,记得要导入java.util.Scanner包,不然编译器会报错。 - 计数器初始化:三个分类计数器和总数量计数器一开始都设为0,这样每统计一个数就对应加1,不会出现初始值错误。
- 终止逻辑:用
while(true)做无限循环,只要用户输入的数小于0,就用break跳出循环,这是最简单的终止方式。 - 分类判断:先把总数量加1(因为输入的非负数都是有效统计数),再依次判断和100的大小关系,对应更新分类计数器。
- 资源关闭:最后调用
scanner.close()关闭输入流,养成良好的编程习惯。
如果你的问题是某个具体环节卡壳了,比如循环没终止、统计数不对,可以对照上面的代码检查一下~
内容的提问来源于stack exchange,提问作者Christoffer Carlsson
相关产品推荐
相关产品推荐

