java - 如何检查以确保用户输入与某个开始字符匹配
问题描述
我正在编写一个程序,该程序使用扫描仪获取用户输入并检查它是否以 y 或 Y 开头来执行操作。任何其他条目将被视为错误并执行不同的操作。
Scanner scnr = new Scanner(System.in);
String userInput;
userInput = scnr.next().charAt(0);
if (userInput.equalsIgnoreCase("y"))
这就是我此时的想法,但这不是我的完整代码。我知道 string 和 char 不兼容,但我不确定还能如何做到这一点。我也不只是想像这样在 if 语句中放置条目的多个变体
if (userInput.equalsIgnoreCase("y") || userInput.equalsIgnoreCase("yup"))
我希望这个问题是有道理的。我是编程和这个网站的新手,所以如果这很明显,我很抱歉!
解决方案
您还可以使用正则表达式作为输入:
String str = "Your String";
Pattern pattern = Pattern.compile("y.*|Y.*");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
System.out.println(str); // Display the string.
}
推荐阅读
- python - Python Selenium 中的 Chrome 选项:禁用 GPU 与 Headless
- ruby-on-rails - 为 rswag 运行 rspec 时,键和值在参数中连接在一起,因为键和值变为 nil?
- python - 在计算引擎 ssh 问题中的 python 中追加文件
- c# - 使用 C# 应用程序生成随机 ID 时的 SQL TOP 1 查询
- c# - C# - 从 USB 设备发送和接收数据
- swiftui - SwiftUI ObservableObject 用作 EnvironmentObject 奇怪的行为
- python - 有没有办法在 Tkinter(python)中为 matplotlib 设置可变间隔?
- java - 如何制作一个像回收站一样的安卓应用程序?
- git - Github 中的“blob”对应什么?
- ios - 如何使用 Swift 将字符串日期时间格式转换为另一种格式