gpt4 book ai didi

java - 一个变量的多个字符串输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:45:55 28 4
gpt4 key购买 nike

有没有其他方法可以缩短这个条件?

if (oper.equals("add") || oper.equals("Add") || oper.equals("addition") ||
oper.equals("Addition") || oper.equals("+"))

我只是想知道我是否可以做些什么来“简化”它。当提示在我的简单计算器程序中要执行哪种操作时,用户将键入一个字符串。我们的教授说我们的程序应该接受用户输入的是“add”还是“Add”,你知道,是不是小写字母……或者这是我应该这样做的唯一方法吗?

最佳答案

您可以使用 String#equalsIgnoreCase(String)对于第一个四个字符串:-

if (oper.equalsIgnoreCase("add") || 
oper.equalsIgnoreCase("addition") ||
oper.equals("+"))

如果字符串数量增加,您最好使用 List,并使用其 contains 方法。但仅对于这些输入,您只能采用这种方法。


另一种方法是使用 String#matches(String)方法,它采用正则表达式:-

if (oper.matches("add|addition|[+]")

但是,您实际上并不需要为此使用正则表达式。特别是,对于更大的输入,这种方法可能会变得丑陋。但是,这只是这种情况的一种方式。因此,您可以选择其中任何一个。第一个在第一次观看时更清晰。


或者,您也可以使用 enum存储 operators,并在任何地方传递它的实例,而不是 string。它会更容易使用。枚举看起来像这样:

public enum Operator {
ADD,
SUB,
MUL,
DIV;
}

您可以根据自己的需要对其进行增强。请注意,由于您正在获取用户输入,因此您首先需要根据它确定适当的枚举实例,然后您可以处理该枚举实例,而不是 String。

关于java - 一个变量的多个字符串输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501920/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com