是否可以为变量赋值,该变量等于一定范围内的数字?例如,我希望我的变量 x 具有 0-100 范围内的数字值。为了澄清,我的代码如下所示:
if(name.equals("developer")&&action.equals("add "+X)){
//Do something;
}
我只想 X 代表不止一个值。谢谢 :)
是否可以为变量赋值,该变量等于一定范围内的数字?例如,我希望我的变量 x 具有 0-100 范围内的数字值。为了澄清,我的代码如下所示:
if(name.equals("developer")&&action.equals("add "+X)){
//Do something;
}
我只想 X 代表不止一个值。谢谢 :)
是的,有可能。
if(name.equals("developer")&&action.equals("add "+X)){ // X value resolves at runtime
//Do something;
}
听起来 X 应该被抽象成一个类。如果您希望它包含各种值,那么这些可能是类中的变量。例如,Human 类可能包含与身高、年龄和腰围相关的变量。这是 X 中的三个变量。我不确定这将如何与您的示例中的 equals 方法一起使用,尽管我不确定"add "
它的用途。
如果您不想要一个类而只是动态的变量集合,那么请使用 Collection 类之一。同样,您可能会遇到一些与 equals 相关的问题add
。
使用正则表达式来验证action
字符串格式。然后解析integer
并检查它是否在所需范围内,如下所示
if (name.equals("developer") && action.matches("add\\s\\d{1,3}")) {
// regex guarantees a successful parse now
int num = Integer.parseInt(action.split(" ")[1]);
// check the parsed int's range
if (num >= 0 && num <= 100) {
// Do something;
}
}