网站域名备案 更改吗求个网站2021可用

张小明 2026/1/14 4:49:08
网站域名备案 更改吗,求个网站2021可用,wordpress 换域名 全站301重定向,苏州市住房和城乡建设局政务网站扫描器怎么用#xff1f;Java新手避坑指南#xff1a;Scanner类从入门到实战你是不是也遇到过这种情况#xff1a;兴冲冲写了个程序#xff0c;想让用户输入名字、年龄或者成绩#xff0c;结果一运行——要么直接跳过输入#xff0c;要么报错崩溃#xff0c;控制台还冒出…扫描器怎么用Java新手避坑指南Scanner类从入门到实战你是不是也遇到过这种情况兴冲冲写了个程序想让用户输入名字、年龄或者成绩结果一运行——要么直接跳过输入要么报错崩溃控制台还冒出一串看不懂的异常信息别急这几乎是每个Java初学者都会踩的“坑”。而解决这些问题的关键就是我们今天要讲的主角Scanner类。为什么是Scanner它到底能干啥在命令行程序里光会输出还不够得让程序“听”得见用户的声音才行。比如做个计算器总不能把数字写死在代码里吧这时候就需要读取用户的实时输入。Java提供了好几种方式来处理输入但对新手最友好的非Scanner莫属。✅ 它就像一个智能翻译官你说“123”它知道这是整数你说“3.14”它认得出是小数你说“张三来了”它也能完整接住这句话。而且用起来特别简单几行代码就能搞定交互功能。自JDK 5引入以来Scanner已经成了教学示例、算法题解和小型工具中的标配。import java.util.Scanner;记住这一句——没有它后面的一切都白搭。它是怎么工作的内部机制揭秘你可以把Scanner想象成一个“探头”它盯着输入流比如键盘敲下的内容一边读一边分析。当你调用nextInt()的时候它不会立刻动手而是先跳过空格、换行这些“空白字符”然后找到下一个看起来像整数的部分试着解析出来。成功了就返回数值失败就抛个异常告诉你“兄弟这不是合法的数字啊。”举个例子假设你输入的是123 abc 45.6连续执行以下操作int a scanner.nextInt(); // 得到 123 String s scanner.next(); // 得到 abc double d scanner.nextDouble(); // 得到 45.6整个过程就像是自动切蛋糕按空格分块每块各取所需。但注意这里有个致命细节next()和nextInt()这类方法只吃到“空格前”的那一口而nextLine()是个大胃王它要把当前行剩下的所有字符一口气吃完包括中间的空格。这就埋下了最常见的那个“陷阱”。核心方法一览哪些是你必须掌握的方法功能说明典型用途next()读下一个单词遇空格停止获取不含空格的字符串nextInt()读一个整数年龄、数量等数字输入nextDouble()读一个双精度浮点数身高、价格、分数nextBoolean()读布尔值判断是否同意、开关选项nextLine()读一整行直到回车地址、描述、带空格的文本 特别强调nextLine()和其他方法行为不一致它是唯一能读取空格的方法但也最容易被“残留换行符”搞崩。那个让人抓狂的问题nextLine()为啥总是“跳过”来看一段典型的翻车代码System.out.print(请输入年龄); int age scanner.nextInt(); System.out.print(请输入简介); String desc scanner.nextLine(); // ← 这里居然直接跳过了你以为程序会等你输入简介但实际上——闪现一下就过去了 问题根源在哪当你输入年龄并按下回车时你其实输入了两个东西- 数字20- 回车符\nnextInt()只拿走了20把\n留在了输入缓冲区里。接下来nextLine()一看“哎哟前面已经有换行符了”于是马上返回一个空字符串因为它认为“这一行已经结束了”。这就是所谓的“吃掉换行符”问题。✅ 正确姿势手动清空缓冲区解决方案很简单在nextInt()后面加一次“无意义”的nextLine()专门用来吞掉那个多余的\nint age scanner.nextInt(); scanner.nextLine(); // 【关键】吸收残留的换行符 String desc scanner.nextLine(); // 现在可以正常输入了 小技巧如果你不确定有没有残留字符也可以用scanner.skip(\\s*)来忽略空白但最稳妥的方式还是显式调用一次nextLine()。实战案例1做一个会聊天的小程序我们来写个欢迎程序收集用户的基本信息import java.util.Scanner; public class UserInfo { public static void main(String[] args) { Scanner scanner new Scanner(System.in); System.out.print(请输入姓名); String name scanner.next(); // 姓名不能有空格 System.out.print(请输入年龄); int age scanner.nextInt(); scanner.nextLine(); // 清除换行符 System.out.print(请输入个人简介可含空格); String bio scanner.nextLine(); System.out.println(\n 欢迎你 name ); System.out.println(年龄 age 岁); System.out.println(简介 bio); scanner.close(); } }运行效果如下请输入姓名李明 请输入年龄25 请输入个人简介可含空格热爱编程喜欢跑步和咖啡 欢迎你李明 年龄25岁 简介热爱编程喜欢跑步和咖啡看到没只要处理好那个小小的换行符一切都很顺畅。实战案例2批量求和计算器现在升级一下难度让用户输入多个数字并计算总和。import java.util.Scanner; public class NumberSum { public static void main(String[] args) { Scanner scanner new Scanner(System.in); System.out.print(你想输入几个数字); int count scanner.nextInt(); int sum 0; for (int i 1; i count; i) { System.out.print(第 i 个数); sum scanner.nextInt(); } System.out.println( 总和为 sum); scanner.close(); } }这个例子展示了循环中如何反复使用nextInt()非常适合做统计类的小工具。如何避免程序因为错误输入直接崩掉如果用户不小心输入了一个字母而不是数字比如把“18”输成了“十八”会发生什么boom程序直接抛出InputMismatchException退出运行。这对用户体验来说简直是灾难。️ 解决方案提前检查输入合法性Scanner提供了一组hasNextXxx()方法可以在真正读取之前先“探路”System.out.print(请输入一个整数); if (scanner.hasNextInt()) { int num scanner.nextInt(); System.out.println(你输入的是 num); } else { System.out.println(⚠️ 错误这不是一个有效的整数); scanner.next(); // 清除非法输入防止死循环 }这样即使用户手滑程序也不会崩溃还能友好提示重试。更高级玩法不只是读键盘很多人以为Scanner只能读键盘输入其实它是个“多面手”支持多种数据源读文件内容Scanner fileScanner new Scanner(new File(data.txt)); while (fileScanner.hasNextLine()) { System.out.println(fileScanner.nextLine()); } fileScanner.close();解析字符串中的数据Scanner strScanner new Scanner(苹果 50 香蕉 30 橙子 40); while (strScanner.hasNext()) { String fruit strScanner.next(); int price strScanner.nextInt(); System.out.println(fruit price 元); } strScanner.close();自定义分隔符比如CSV默认是以空格分割但我们可以通过正则修改分隔符scanner.useDelimiter(,); // 输入张三,25,北京 String name scanner.next(); int age scanner.nextInt(); String city scanner.next();这在处理逗号分隔的数据时非常实用。最佳实践建议写出更健壮的代码全局共用一个 Scanner 实例- 不要在多个方法里重复创建new Scanner(System.in)- 多个实例可能导致资源冲突或关闭异常务必记得关闭资源java scanner.close();或者更推荐使用 try-with-resourcesjava try (Scanner sc new Scanner(System.in)) { // 所有输入操作在这里完成 } // 自动关闭不怕忘记面向测试设计你的代码把Scanner当作参数传进去方便以后做单元测试java public void process(Scanner input) { String name input.next(); int age input.nextInt(); // ... }测试时可以用模拟数据代替键盘输入大大提高自动化程度。中文乱码怎么办如果发现中文显示乱码大概率是终端编码问题。- IntelliJ IDEA设置 → Editor → File Encodings → 全部设为 UTF-8- 命令行运行时添加参数-Dfile.encodingUTF-8性能提醒Scanner虽然方便但在大量输入场景下如百万级数据读取性能不如BufferedReader StringTokenizer组合。但对于学习阶段和中小型项目完全够用。写在最后从“写死数据”到“动态交互”掌握Scanner意味着你迈出了 Java 编程中至关重要的一步让你的程序真正“活”起来。以前你是这样写的int age 18; // 写死的现在你可以这样写int age scanner.nextInt(); // 用户说了算这种转变不仅仅是技术上的进步更是思维方式的跃迁——从被动执行到主动交互。虽然未来你可能会接触图形界面、Web表单、API接口等各种更复杂的输入方式但Scanner所体现的核心思想始终不变接收输入 → 解析数据 → 处理逻辑。所以别小看这几行简单的输入语句。它们是你通往真正程序员之路的第一块踏脚石。如果你在实现过程中遇到了其他挑战欢迎在评论区分享讨论。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

山西省建设厅投诉网站有特效的网站

在建筑招投标市场,标书是企业的核心商业机密 —— 里面藏着独家技术方案、精准报价策略、核心业绩数据,任何一点泄露都可能让前期数月的筹备付诸东流。某建筑央企曾因使用云端查重工具,导致项目报价被竞争对手获取,最终在关键竞标…

张小明 2026/1/14 3:00:33 网站建设

建筑工程招投标网站网站开发软件技术专业好吗

PKHeX插件终极指南:3分钟掌握自动生成100%合法宝可梦的秘诀 【免费下载链接】PKHeX-Plugins Plugins for PKHeX 项目地址: https://gitcode.com/gh_mirrors/pk/PKHeX-Plugins 还在为宝可梦数据合法性而烦恼吗?PKHeX-Plugins项目的AutoLegalityMod…

张小明 2026/1/14 3:12:21 网站建设

建公司网站建设明细报价表如何在电脑安装wordpress

博主六年从事毕业设计辅导,安全-专业-掌握各种细节 按键定义图采用4X4键盘输入,键盘对应名称如下: 1 2 3 A 4 5 6 B 7 8 9 C 0 # D 其中, 【0—9】为数字键 【*】号键为无定义 【#】号键为小数点 【A】键为去皮、清零 …

张小明 2026/1/14 2:56:01 网站建设

做网站设计的提成点是多少网站构建培训

PyTorch训练异常退出?检查Miniconda资源限制 在深度学习项目中,你是否遇到过这样的场景:模型代码逻辑清晰、数据加载正常、GPU 显存充足,可训练任务却在运行几分钟后悄无声息地终止——没有报错堆栈,日志戛然而止&…

张小明 2026/1/14 2:36:05 网站建设

刷粉网站推广免费网站设计模板代码

数据增强策略:提升模型泛化能力的实用技巧 万物识别-中文-通用领域:背景与挑战 在当前多模态AI快速发展的背景下,万物识别(Omni-Recognition)已成为智能视觉系统的核心能力之一。尤其在中文语境下的通用领域图像识别任…

张小明 2026/1/9 17:16:15 网站建设

商业设计网站有哪些四川seo

多模态模型正则化实战:从过拟合困境到生产级部署 【免费下载链接】awesome-multimodal-ml Reading list for research topics in multimodal machine learning 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-multimodal-ml 当你的多模态模型在训练集…

张小明 2026/1/9 17:16:16 网站建设