尝试打印用户答案中某个单词(字符串)之后的所有内容

问题描述 投票:0回答:2

为课堂编写一个简单的 Eliza 程序,但我陷入困境。

如果用户说

"I feel"
,

程序需要询问

"Why do you feel " +(everything after "I feel") + "?"
.

现在它只是打印我所说的所有内容,因为索引

idx
没有保存
"I feel"
的长度。

但是,老师不希望我们为子串输入具体的数字。

这是我所拥有的:

}else if(userAnswer.toLowerCase().contains("i feel")){
  int idx = userAnswer.indexOf("i feel");
  ElizaAnswer = "Why do you feel " + userAnswer.substring(idx , userAnswer.length()) + "?";
}
java substring indexof
2个回答
0
投票

子字符串的第一部分(在您的情况下为 idx)应该是您开始位置的索引。所以应该是

idx.length()


0
投票

您可以编写一个函数来解析字符串中的模式。该函数将返回输入的其余部分。

如果您将问题分成只做单一事情的部分,而不是用硬编码数据搞乱代码,那么实现起来很容易。

© www.soinside.com 2019 - 2024. All rights reserved.