Spa*_*nce 1 java string character operators
我在这里有两个完全相同的代码副本,除了一个在for循环中有'<'而另一个有'<='.有人可以解释为什么当我使用'<='时我会得到索引超出范围的异常,但是它可以正常使用'<'
错误代码:
for(int i = 0; i <= str.length(); i++) {
int count = 0;
char currentChar = str.charAt(i);
for(int j = 0; j <= str.length(); j++) {
if (currentChar == str.charAt(j) ) {
count++;
Run Code Online (Sandbox Code Playgroud)
工作代码:
for(int i = 0; i < str.length(); i++) {
int count = 0;
char currentChar = str.charAt(i);
for(int j = 0; j < str.length(); j++) {
if (currentChar == str.charAt(j) ) {
count++;
Run Code Online (Sandbox Code Playgroud)
如果我不使用<=它将如何比较字符串中的最后一个字符?
StringJava中的有效索引,就像任何数组中的索引一样,从零到长度减去一.很明显,如果你设定了你的条件i <= str.length(),你就会超越这个字符串.
请记住,String内部的内容只不过是a char[],而且:有效的索引来自0于length-1.这是一个惯例,其次是许多其他编程语言,它们决定从零而不是一开始计数.
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |