Java生成100个随机数并统计大于用户输入值的奇数个数求助
Java功能实现代码及说明
现有代码问题梳理
- 输入校验的死循环无退出触发条件,用户输入合法数值后仍会持续要求输入
- 缺少100个随机数生成、条件筛选计数的对应逻辑
完整实现代码
import java.util.Scanner; import java.util.Random; public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); int userInput = 0; System.out.println("请输入30到70之间的数值:"); // 输入校验循环 while (true) { userInput = input.nextInt(); if (userInput > 70) { System.out.println("输入值大于70,请重新输入:"); } else if (userInput < 30) { System.out.println("输入值小于30,请重新输入:"); } else { System.out.println("用户输入的数值为:" + userInput); // 输入合法,跳出循环 break; } } // 统计计数初始化 int count = 0; Random random = new Random(); // 生成100个随机数 示例范围为0-100,可自行修改nextInt参数调整范围 for (int i = 0; i < 100; i++) { int randomNum = random.nextInt(101); // 判断条件:大于用户输入值 且 为奇数 if (randomNum > userInput && randomNum % 2 != 0) { count++; } } System.out.println("100个随机数中,大于输入值的奇数总数为:" + count); input.close(); } }
逻辑说明
- 输入校验:当用户输入数值落在30-70区间时,调用
break跳出死循环,进入后续逻辑 - 随机数生成:使用
Random类生成100个随机数,示例中随机数范围是0-100,可根据需求修改nextInt的参数调整取值上限 - 计数规则:仅同时满足大于用户输入值、为奇数两个条件的随机数才会被计入总数
- 最后打印统计结果,关闭输入流避免资源泄漏
内容的提问来源于stack exchange,提问作者CaptnRedBeard
相关产品推荐
相关产品推荐

