我正在开发一个私人助理,它可以回答诸如"你好吗?"但是我不想为类似的问题定义相同的答案,例如"你觉得怎么样?"等我试图使用||在包含之后,它只是没有用。我怎么能用||在这种情况下?有人可以帮帮我吗?
代码:
else if (Text.getText().toString().contains("see you later")){
saySomething("Good bye sir"); }
我试过的代码:
else if (Text.getText().toString().contains("see you later"||"goodbye")){
saySomething("Good bye sir"); }
答案 0 :(得分:3)
String s = text.getText().toString();
// disjunction of 2 contains
boolean orResult = s.contains("see you later") || s.contains("goodbye");
// alternative using regex
boolean regexResult = s.matches(".*(see you later|goodbye).*");
答案 1 :(得分:1)
else if (Text.getText().toString().contains("see you later"||"goodbye")){
saySomething("Good bye sir"); }
而不是尝试下面的代码
else if (Text.getText().toString().contains("see you later") || Text.getText().toString().contains("goodbye")){
saySomething("Good bye sir"); }
答案 2 :(得分:1)
我的想法是减少if条款中的条件:
boolean isSeeLaterTxt = Text.getText().toString().contains("see you later");
boolean isGoodByeTxt = Text.getText().toString().contains("goodbye");
else if ( isSeeLaterTxt || isGoodByeTxt )) {
saySomething("Good bye sir");
}
这是我的简短建议。代码将更易读。你可以稍后改变条件的灵活性。