如何在投票程序中仅显示获得有效票数的名次
发布时间 - 2025-12-29 00:00:00 点击率:次本教程讲解如何优化投票统计程序,使其仅在某一名次(如第二、第三)实际存在非零得票时才输出对应结果,避免显示“third: ”等空行。核心思路是先判断票数是否为零,再决定是否执行查找与打印逻辑。
在当前投票程序中,firstScore、secondScore 和 thirdScore 已通过排序或比较逻辑确定,但无论其值是否为 0,程序都会无条件打印对应名次标题(如 "Third: "),导致输出冗余甚至误导(例如 Third: 后无任何候选人)。解决的关键在于:将打印标题与遍历查找逻辑整体封装在条件判断中,仅当该名次票数 > 0 时才执行。
以下是优化后的完整代码片段(基于您原有的结构):
// 仅当第一名有有效票数时显示 Winner
if (firstScore > 0) {
System.out.print("Winner: ");
for (int i = 0; i < Array.length; i++) {
if (Array[i] != 0 && Array[i] == firstScore) {
System.out.print(stringArray[i] + " ");
}
}
System.out.println(); // 使用 println() 自动换行,更简洁
}
// 仅当第二名有有效票数时显示 Second
if (secondScore > 0) {
System.out.print("Second: ");
for (int i = 0; i < Array.length; i++) {
if (Array[i] != 0 && Array[i] == secondScore) {
System.out.print(stringArray[i] + " ");
}
}
System.out.println();
}
// 仅当第三名有有效票数时显示 Third
if (thirdScore > 0) {
System.out.print("Third: ");
for (int i = 0; i < Array.length; i++) {
if (Array[i] != 0 && Array[i] == thirdScore) {
System.out.print(stringArray[i] + " ");
}
}
System.out.println();
}✅ 关键改进说明:
- 使用 if (score > 0) 而非 if (score != 0) 更符合业务语义(票数不可能为负,> 0 即表示真实有效得票);
- 每个名次块独立判断,互不影响,逻辑清晰且易于维护;
- 统一使用 System.out.println() 替代 System.out.print("\n"),提升可读性与健壮性;
- 条件判断位于外层,彻底避免了“标题已输出但无内容”的问题。
⚠️ 注意事项:
- 确保 firstScore、secondScore、thirdScore 在进入此段代码前已完成正确计算(例如通过 Arrays.sort() 或手动比较得出前三名票数);
- 若存在并列情况(如两人同获第二高票),当前循环逻辑会自然输出所有并列者,这是合理行为;
- 建议将重复的查找逻辑封装为私有方法(如 printCandidates(int targetScore, S
tring title)),进一步提升代码复用性与可测试性。
通过这一优化,程序输出将严格反映真实投票结果——得票为 0 的名次完全静默,界面更专业,用户体验更清晰。
# win
# 代码复用
# print
# String
# if
# sort
# 封装
# int
# 循环
# 时才
# 这是
# 这一
# 两人
# 遍历
# 使其
# 而非
# 无任何
# 能为
# 装在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Python图片处理进阶教程_Pillow滤镜与图像增强
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel如何升级到最新版本?(升级指南和步骤)
网站页面设计需要考虑到这些问题
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
香港服务器WordPress建站指南:SEO优化与高效部署策略
jQuery validate插件功能与用法详解
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何在阿里云部署织梦网站?
常州企业网站制作公司,全国继续教育网怎么登录?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
JS去除重复并统计数量的实现方法
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel如何配置任务调度?(Cron Job示例)
Laravel如何发送系统通知?(Notification渠道示例)
JavaScript中的标签模板是什么_它如何扩展字符串功能
如何实现javascript表单验证_正则表达式有哪些实用技巧
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
如何快速查询域名建站关键信息?
如何用低价快速搭建高质量网站?
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
Laravel API资源类怎么用_Laravel API Resource数据转换
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
简单实现Android验证码
Laravel如何创建自定义中间件?(Middleware代码示例)
网站制作大概多少钱一个,做一个平台网站大概多少钱?
微信小程序 五星评分(包括半颗星评分)实例代码
奇安信“盘古石”团队突破 iOS 26.1 提权
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Laravel如何实现API速率限制?(Rate Limiting教程)
做企业网站制作流程,企业网站制作基本流程有哪些?
如何快速搭建安全的FTP站点?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
中山网站推广排名,中山信息港登录入口?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧


tring title)),进一步提升代码复用性与可测试性。