
本教程旨在帮助 Java 开发者实现用户输入特定长度字符串的校验功能。通过示例代码,我们将演示如何使用 Scanner 类获取用户输入,并进行长度验证,确保输入符合预设的字符数要求,从而避免程序出现异常或数据错误。
在开发需要用户输入信息的 Java 程序时,有时我们需要确保用户输入的数据满足特定的格式要求。例如,一个销售跟踪程序需要用户输入一个 8 位数的 ID。如果用户输入的 ID 长度不符合要求,程序应该给出提示并要求用户重新输入。本文将介绍如何实现这一功能。
Java 提供了 Scanner 类来方便地获取用户输入。首先,我们需要创建一个 Scanner 对象,并将其与 System.in 关联,System.in 代表标准输入流(通常是键盘)。
Scanner input = new Scanner(System.in);
接下来,我们需要获取用户输入的 ID,并检查其长度是否符合要求。由于 ID 可能是字母和数字的组合,我们使用 Scanner.nextLine() 方法读取用户输入,该方法将读取用户输入的一整行字符串。然后,我们使用 String.length() 方法获取字符串的长度,并进行判断。
立即学习“Java免费学习笔记(深入)”;
String id = "";
while (id.isEmpty()) {
System.out.print("Enter salesperson ID >> ");
id = input.nextLine().trim();
if (id.length() != 8) {
System.out.println("Invalid ID Supplied (" + id + ")! ID must be 8 characters long!");
id = "";
}
}
System.out.println("The Salesman ID is: -> " + id);在上面的代码中,我们使用了一个 while 循环来确保用户输入符合要求。如果用户输入的 ID 长度不为 8,程序会打印错误消息,并将 id 变量设置为空字符串,从而强制用户重新输入。trim() 方法用于移除字符串开头和结尾的空白字符,防止因空白字符导致长度判断错误。
如果 ID 必须是数字,我们需要对输入进行额外的验证,确保所有字符都是数字。可以使用正则表达式 d+ 来匹配只包含数字的字符串。
String id = "";
while (id.isEmpty()) {
System.out.print("Enter salesperson ID >> ");
id = input.nextLine().trim();
if (id.length() != 8 || !id.matches("\d+")) {
System.out.println("Invalid ID Supplied (" + id + ")! ID must be 8 Digits in length!");
id = "";
}
}
int salesmanID = Integer.parseInt(id);
System.out.println("The Salesman ID is: -> " + salesmanID);这里,id.matches("\d+") 检查 id 字符串是否只包含数字。如果 ID 不是 8 位数或者包含非数字字符,程序会提示用户重新输入。如果输入有效,则可以使用 Integer.parseInt(id) 将字符串转换为整数。
通过本教程,我们学习了如何使用 Java 的 Scanner 类获取用户输入,并进行长度和格式验证。这些技巧可以帮助我们编写更健壮、更可靠的程序,确保用户输入的数据符合预期,从而避免潜在的错误。记住,良好的输入验证是保证程序质量的关键步骤之一。
以上就是如何强制用户输入固定长度的字符串:Java 教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号