没有太多的细节,下面是findWithinHorizon(“。”,0)。 charAt(0)技术的工作原理:Java的findWithinHorizon方法在输入中查找事物。该方法找到的东西取决于你放在括号中的东西。例如,调用findWithinHorizon(“ d d d”,0)查找由三位数字组成的组。使用下面的代码行
System。出。 println(keyboard。findWithinHorizon(“ d d d”,0));
您可以键入
<!在调用findWithinHorizon(“ d d d”,0)时,每个 d都会显示测试123测试测试
和计算机响应显示
123
为一个数字。这个 d业务是一个叫做 正则表达式 的特殊代码中的缩写之一。
现在这里有一些奇怪的东西。在正则表达式的世界里,一个点代表任何角色。 (也就是说,一个点代表“任何字符,不一定是一个点”)所以findWithinHorizon(“。”,0)告诉计算机找到用户在键盘上键入的任何类型的下一个字符。当你试图输入单个字符时,findWithinHorizon(“。”,0)是非常有用的。
<!在调用findWithinHorizon(“ d d d”,0)中,0告诉findWithinHorizon继续搜索,直到输入结束。此值为0是一种特殊情况,因为除0之外的任何内容都会将搜索限制为一定数量的字符。 (这就是为什么方法名包含单词horizon 的原因, horizon 就像方法所看到的那样)这里有几个例子: 使用相同的输入测试123测试测试,调用findWithinHorizon(“ d d d”,9)返回null。它返回null,因为输入的前九个字符(字符测试1-七个字母,一个空格和一个数字)不包含三个连续的数字。这九个字符与模式 d d d不匹配。
-
-
在输入相同的情况下,调用findWithinHorizon(“ d d d”,11)将返回123.它将返回123,因为输入的前11个字符(字符Testing 123)包含这3个连续的数字。
-
使用输入A57B442123测试,调用findWithinHorizon(“ d d d”,12)将返回442.它将返回442,因为在输入的前12个字符中(字符A57B442123测试) 3个连续数字是序列442。
-
但是等一下!要从键盘上获取单个字符,请调用findWithinHorizon(“。”,0)。的charAt(0)。 charAt(0)在阅读单个字符中扮演什么角色?任何findWithinHorizon调用的行为就好像找到了一堆字符,而不仅仅是一个字符。即使当您调用findWithinHorizon(“。”,0),并且计算机只从键盘提取一个字母时,Java程序也会将该字母视为可能多个输入字符之一。
调用charAt(0)来处理多字符问题。这个charAt(0)调用告诉Java从findHithinHorizon获取的任何字符中选取初始字符。