gpt4 book ai didi

java - Java 中的 StringIndexOutOfBounds

转载 作者:行者123 更新时间:2023-11-29 07:35:53 25 4
gpt4 key购买 nike

我这里有两个完全相同的代码副本,除了一个在 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++;


工作代码:

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++;


如果我不使用 <= 它将如何比较字符串中的最后一个字符?

最佳答案

有效 String Java 中的索引,就像任何数组中的索引一样,从零到长度减一。很明显,如果您将条件设置为达到 i <= str.length() , 你会在字符串之外。

记住 String里面不过是一个char[] , 再一次:有效索引来自 0length-1 .这是一个惯例,许多其他编程语言也遵循这一惯例,决定从零而不是从一开始计数。

关于java - Java 中的 StringIndexOutOfBounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com