浙江企业seo推广百度关键词优化外包

张小明 2026/1/13 0:21:19
浙江企业seo推广,百度关键词优化外包,网页设计的模版,南昌优化网站推广零基础也能轻松玩转Java输入#xff1a;Scanner类实战全解析你有没有写过这样的程序#xff1f;运行后黑乎乎的控制台弹出来#xff0c;只打印一行“Hello World”#xff0c;然后啪一下就结束了。你想让它多做点事——比如问你叫什么名字、算个加法、或者记录点信息……但…零基础也能轻松玩转Java输入Scanner类实战全解析你有没有写过这样的程序运行后黑乎乎的控制台弹出来只打印一行“Hello World”然后啪一下就结束了。你想让它多做点事——比如问你叫什么名字、算个加法、或者记录点信息……但发现它“听不懂人话”别急今天我们就来解决这个问题。让Java程序真正“学会倾听”用户输入的第一步就是掌握Scanner类。这玩意儿看起来不起眼却是每个Java初学者必须跨过的一道门槛。无论是刷题、考试、课程设计还是自己练手写个小工具都绕不开它。为什么是 Scanner从“哑巴程序”到会对话的小助手在没有Scanner之前你的程序就像一个只会自言自语的机器人- 它输出一堆东西但完全不知道你在想啥- 所有数据都是写死的改一次就得重新编译。而有了Scanner之后它就能张嘴问你“请输入年龄”、“请选择操作”、“继续吗”……一下子就有了交互感。Scanner是 Java 标准库中java.util包里的一个公共类专为“读取文本输入”而生。它可以轻松地从键盘、文件甚至字符串中提取整数、小数、单词或一整行内容而且语法简单到连新手都能看懂。更重要的是——它不需要复杂的配置几行代码就能上手。怎么用三步搞定用户输入第一步导入 创建对象import java.util.Scanner; public class InputDemo { public static void main(String[] args) { Scanner scanner new Scanner(System.in); } }就这么一句new Scanner(System.in)你就拿到了一个能监听键盘输入的“耳朵”。 小知识System.in是标准输入流默认对应键盘。你可以把它理解成“数据入口”。第二步开始“听”用户说了啥接下来就可以调用各种nextXXX()方法来读取不同类型的数据了方法用途scanner.next()读一个单词遇到空格或换行停止scanner.nextLine()读一整行包括中间的空格scanner.nextInt()读一个整数scanner.nextDouble()读一个小数scanner.nextBoolean()读布尔值true/false举个例子System.out.print(请输入你的名字); String name scanner.nextLine(); // 可以输入“张三”、“李小龙”这种带空格的名字 System.out.print(请输入年龄); int age scanner.nextInt(); System.out.println(你好 name 你今年 age 岁了);运行效果请输入你的名字王大锤 请输入年龄25 你好王大锤你今年 25 岁了是不是瞬间觉得程序“活”起来了第三步记得关掉“耳朵”每次用完别忘了关闭资源scanner.close();虽然不关也不会立刻出问题但养成好习惯很重要——避免潜在的内存泄漏也让你的代码更专业。别被这些坑绊倒新手常见问题全避雷很多同学学到这里都会踩几个“经典陷阱”。我们一个个拆解。❌ 陷阱一nextInt()后面跟nextLine()结果直接跳过了代码长这样System.out.print(请输入年龄); int age scanner.nextInt(); System.out.print(请输入姓名); String name scanner.nextLine(); // 这里居然没等输入直接跳过去了原因揭秘当你输入20然后按回车时你其实在输入缓冲区留下了两样东西- 数字20- 回车符\nnextInt()只拿走了数字把\n留在了后面。紧接着nextLine()一看“哟前面有个换行符”——立马认为“这一行已经结束了”于是返回空字符串根本不等你输入。✅解决方案手动吃掉残留的换行符int age scanner.nextInt(); scanner.nextLine(); // 这句专门用来吸收回车符 String name scanner.nextLine(); // 正常输入姓名 记住口诀只要用了 nextInt()/nextDouble() 等非 nextLine() 方法后还想读行就补一个 nextLine() 清场。❌ 陷阱二用户乱输导致程序崩溃比如你让别人输年龄他偏要打个 “abc”……int age scanner.nextInt(); // 输入 abc → 直接抛异常程序崩了这体验太差了。作为开发者我们要学会“防呆设计”。✅正确做法先判断再读取if (scanner.hasNextInt()) { int age scanner.nextInt(); } else { System.out.println(请输入合法的数字); scanner.next(); // 清除错误输入防止死循环 }hasNextInt()就像一个探测器提前告诉你“下一个是不是整数”不是那就提醒用户并用scanner.next()把垃圾数据扔掉。❌ 陷阱三多个 Scanner 同时读键盘互相打架有人图方便在不同方法里都写Scanner s1 new Scanner(System.in); // ...用完关了 s1.close(); Scanner s2 new Scanner(System.in); // 错了不能再开了问题来了一旦某个Scanner被.close()它会顺带把底层的System.in流也关掉后面再创建新的Scanner就读不了数据了。✅最佳实践全局只用一个 Scannerpublic class MyApp { private static final Scanner scanner new Scanner(System.in); public static void main(String[] args) { getInput1(); getInput2(); scanner.close(); // 最后统一关闭 } static void getInput1() { System.out.print(输入第一项); String s scanner.nextLine(); } static void getInput2() { System.out.print(输入第二项); String s scanner.nextLine(); } }这样既安全又高效。实战演练做个会思考的简易计算器光讲理论不够劲来个真实项目练练手。目标做一个支持连续计算的控制台计算器能处理加减乘除还能自动校验输入。import java.util.Scanner; public class SmartCalculator { public static void main(String[] args) { Scanner scanner new Scanner(System.in); boolean running true; System.out.println(【欢迎使用智能计算器】); while (running) { // 第一步读第一个数 System.out.print(请输入第一个数字); if (!scanner.hasNextDouble()) { System.out.println(❌ 错误请输入有效数字); scanner.next(); // 清除非法输入 continue; } double a scanner.nextDouble(); // 第二步读运算符 System.out.print(请输入运算符 (, -, *, /): ); String opStr scanner.next(); char op opStr.charAt(0); // 第三步读第二个数 System.out.print(请输入第二个数字); if (!scanner.hasNextDouble()) { System.out.println(❌ 错误请输入有效数字); scanner.next(); continue; } double b scanner.nextDouble(); // 计算结果 Double result null; switch (op) { case : result a b; break; case -: result a - b; break; case *: result a * b; break; case /: if (b 0) { System.out.println(❌ 错误除数不能为零); continue; } result a / b; break; default: System.out.println(❌ 不支持的运算符 op); continue; } // 输出结果 System.out.printf(✅ 结果%f %c %f %.4f%n, a, op, b, result); // 是否继续 System.out.print(继续计算吗(y/n): ); String choice scanner.next(); if (choice.equalsIgnoreCase(n)) { running false; } } System.out.println(感谢使用再见); scanner.close(); } }这个程序展示了- 如何结合hasNextXXX()做输入验证- 如何处理异常情况如除零、非法输入- 如何实现循环交互- 如何优雅退出。这才是真正“健壮”的控制台程序该有的样子。更进一步不只是键盘输入你以为Scanner只能读键盘错它的能力远不止于此。 场景1从字符串中解析数据比如你要解析一条日志ID:1001 Score:98.5 Passed:true可以用Scanner拆解String log ID:1001 Score:98.5 Passed:true; Scanner parser new Scanner(log).useDelimiter([^\\d.]); // 非数字/点字符作为分隔符 int id parser.nextInt(); // 1001 double score parser.nextDouble(); // 98.5 boolean passed parser.nextBoolean(); // true 场景2读取文件内容Scanner fileScanner new Scanner(new File(data.txt)); while (fileScanner.hasNextLine()) { System.out.println(fileScanner.nextLine()); } fileScanner.close(); 自定义分隔符处理 CSV 数据scanner.useDelimiter(,); // 改成分号、制表符也可以这样一来输入苹果,香蕉,橙子就可以逐个读取水果名称。最佳实践总结写出高质量的输入代码建议说明✅ 全局复用一个Scanner避免多次打开/关闭System.in✅ 优先使用nextLine()读字符串特别是可能含空格的内容✅ 在nextInt()后加nextLine()清理换行防止后续读行失败✅ 使用hasNextXXX()提前判断类型提升程序稳定性✅ 配合try-catch处理极端情况进阶必备技能✅ 最终一定要scanner.close()好习惯成就专业程序员写在最后Scanner 是起点不是终点坦白说Scanner并不适合高并发、大数据量的场景。在性能敏感的应用中我们会选择BufferedReaderInputStreamReader的组合效率更高。但对初学者来说Scanner是最温柔的入门方式。它让你快速看到成果建立信心理解“输入 → 处理 → 输出”的完整流程。它是你写出第一个“会说话”的程序的起点也是你迈向复杂系统的第一步。当你有一天不再需要它时请记得回头看看——正是这个简单的类教会了你如何让程序“听见”世界的声音。如果你正在学Java不妨现在就打开IDE写一个用Scanner和你聊天的小程序试试比如让它记住你的爱好、帮你选午餐、或者讲个笑话。编程的乐趣往往就藏在那一句“请输入……”之后。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

上海个人医疗网站备案桂林网络平台开发公司

无解了 等了好久,deepseek自己结束生成了 生成的结果: 我们注意到,原函数WeightedFV中调用了DepthMap函数,但是并没有给出DepthMap函数的定义。根据代码上下文,我们可以推断DepthMap函数的作用是从聚焦体积(FV&…

张小明 2026/1/11 19:31:18 网站建设

重庆网站推广长沙房地产交易中心

YOLO目标检测模型支持中文标签输出吗?结合文本token轻松实现 在智能制造车间的监控大屏上,一个实时运行的目标检测系统正对流水线上的物品进行识别。突然,警报响起:“Detected: bottle with low confidence”。操作员皱起眉头——…

张小明 2026/1/5 15:38:32 网站建设

佛山服务类网站建设厦门建设局咨询电话

科研人都懂一个扎心真相:论文的 “第一眼印象” 全靠图表!数据再扎实、论证再严谨,若图表配色辣眼、排版混乱、标注不规范,也可能让评审直接 “略过重点”😫。传统科研绘图堪称 “时间刺客”:用 Origin 调坐…

张小明 2026/1/6 4:43:44 网站建设

自己做网站制作需要多少钱关于app的策划书

第一章:AZ-500云Agent性能瓶颈如何破?3步实现90%响应速度提升在高并发场景下,AZ-500云Agent常因资源争用与通信延迟导致响应延迟上升。通过优化配置、减少轮询开销并启用异步处理机制,可显著提升其性能表现。优化数据采集频率 频繁…

张小明 2026/1/7 3:28:48 网站建设

做网站的公司现在还 赚钱吗6短视频运营是做什么的

Deepin-Wine 环境下的企业微信由于其兼容性较好,一直是 Linux 用户办公的首选方案。但在最新的 Ubuntu 24.04 系统上,由于安全机制更新和依赖库版本差异,直接安装往往会报错。本文总结了一套完整的避坑安装流程。 一、 初始化仓库环境 首先…

张小明 2026/1/6 17:10:03 网站建设

企业网站设计策划百度app安卓版下载

背景 本课题聚焦基于微信小程序的咖啡店点餐系统的设计与实现,旨在解决传统咖啡店点餐排队时间长、订单易出错、取餐效率低、商家运营数据分散等痛点,依托微信小程序的轻量化、高触达优势,构建集菜品展示、在线点餐、订单支付、取餐提醒、数据…

张小明 2026/1/10 18:37:50 网站建设