【发布时间】:2020-11-28 15:57:58
【问题描述】:
我很难理解这段代码中发生了什么,我知道 Java 只有正索引。
我试图理解的示例。
if ((Input.length() > 2) &&
(Input.substring(1, Input.length() -2).contains(substring))) {
System.out.print("Middle");
上面的代码在做什么?
【问题讨论】:
-
您的代码中没有负索引。您的子字符串的结束索引是
Input.length()-2,这是一个正数。我不清楚你为什么要发布一个关于负索引的 Java 代码问题,正如你所说的 Java 不使用负索引。 -
不是-2,是 Input.length() -2。
-
Input.length()大于 2,如 if 语句所断言。如果Input.length()为 2,则2-2=0。如果是 3,3-2=1,以此类推。 -
Input.length()-2是一个正数,因为Input.length()大于 2。 -
我认为减号后缺少空格会让您感到困惑。这是为什么空白很重要的一个完美例子。
标签: java loops indexing substring contains