Java 为什么字符串长度为-1
我找到了下面的程序来检查字符串是否是回文的Java 为什么字符串长度为-1,java,string,Java,String,我找到了下面的程序来检查字符串是否是回文的 import java.util.Scanner; public class PalindromeString{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("Enter the string which you want to check whether that
import java.util.Scanner;
public class PalindromeString{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("Enter the string which you want to check whether that is palindrome or not: ");
String s = in.next();
String r = "";
for(int i=s.length()-1; i>=0; i--){
r = r+s.charAt(i);
}
System.out.println("Reverse of entered string "+s+" is "+r);
if(r.equals(s)){
System.out.println("String "+s+" is palindrome.");
}else{
System.out.println("String "+s+" is not palindrome.");
}
}
}
我不明白为什么编码器将循环变量
I
初始化为s.length()-1
。谁能解释一下原因吗?我搜索了字符串长度的相关内容,但找不到答案 字符串是字符数组,数组索引从0开始计数
length是该字符数组中的元素数量,但由于数组从0开始,因此最高索引是元素数量-1==>。length()-1字符串是字符数组,数组索引从0开始计数
length是该char数组中的元素数量,但由于数组从0开始,因此最高索引是元素数量-1==>。length()-1charAt的索引从0开始。ie.0是第一个字符
这意味着长度为10的字符串的字符数在0-9之间,而不是1-10。字符的索引从0开始。ie.0是第一个字符
这意味着长度为10的字符串的字符数在0-9之间,而不是1-10之间。因为Java字符串使用基于零的索引
i、 e.字符串中的字符索引来自0…n-1,因为Java字符串使用基于零的索引
i、 e.字符串中的字符索引从0…n-1开始字符的索引从0开始。ie.0是第一个字符
这意味着长度为10的字符串的字符数在0-9之间,而不是1-10之间。应该是这样子的 字符的索引从0开始。ie.0是第一个字符
这意味着长度为10的字符串的字符数在0-9之间,而不是1-10之间。应该是这样子的 因为java索引数组来自0 例如,“Hello”字符串的长度是5。“H”是0。“Hello”字符串的字符。 根据这一点,“e”字符是1的整数。位置,并且“o”在4中 很容易看出没有5(字符串的长度)位置,所以如果我们想要最后一个字符,我们需要长度-1。位置
我还建议看一下,因为java索引数组来自0 例如,“Hello”字符串的长度是5。“H”是0。“Hello”字符串的字符。 根据这一点,“e”字符是1的整数。位置,并且“o”在4中 很容易看出没有5(字符串的长度)位置,所以如果我们想要最后一个字符,我们需要长度-1。位置
另外,我建议看一看Java(和大多数其他语言)中元素的索引总是从0开始,然后继续到元素大小/元素数量下面的数字1
String string = "Hello World"
“H”是字符串中的第一个元素,因此被索引为“0”,即字符串[0]=“H”,“e”被索引为“1”-字符串[1]=“e”,等等。最后一个元素将被索引为“10”
因此,在上面的示例中,对于包含11个元素的数组,索引从0到10(字符串长度减1)
我认为这比我更能解释它(并且有图片!)
不要忘记字符串在Java中是一个字符数组,因此请阅读本文以了解有关操作和访问数组的更多信息--Java(以及大多数其他语言)中元素的索引总是从0开始,然后继续到元素大小/元素数下的数字1
String string = "Hello World"
“H”是字符串中的第一个元素,因此被索引为“0”,即字符串[0]=“H”,“e”被索引为“1”-字符串[1]=“e”,等等。最后一个元素将被索引为“10”
因此,在上面的示例中,对于包含11个元素的数组,索引从0到10(字符串长度减1)
我认为这比我更能解释它(并且有图片!)
不要忘记字符串在Java中是一个字符数组,因此请阅读本文以了解有关操作和访问数组的更多信息--,因为变量
i
用作索引,Java中的索引从0开始。如果未执行-1
,则for循环中的第一条语句将触发错误,因为s.charAt(s.length())
不存在-请验证这一点,这在大多数使用基于0的索引的语言中是一个至关重要的理解。可能的重复,因为变量i
用作索引,java中的索引从0开始。如果未执行-1
,则for循环中的第一条语句将触发错误,因为s.charAt(s.length())
不存在-请验证这一点,对于使用基于0的索引的大多数语言来说,这是一个非常重要的理解