我正在获得第一个for循环的正确输出:for(int i=0;i<=name.length();i++)但是不知道为什么我没有得到这个循环的任何输出:for(int i=name.length();i>=0;i--).执行时我收到错误,指出索引超出范围.
public class runner {
public static void main(String[] args) {
String name = "java";
System.out.println(".length method()" + name.length());// executing
// .length()
// method
System.out.println(".charAt method()" + name.charAt(5));
for (int i = 0; i <= name.length(); i++) {
System.out.println(name.charAt(i));
}
for (int j = name.length(); j >= 0; j--) {
System.out.println(name.charAt(j));
}
}
}
Run Code Online (Sandbox Code Playgroud)
产量
j
a
v
a
Run Code Online (Sandbox Code Playgroud)
问题是 i<=name.length();
你想要的i<name.length();是因为长度超出了String中包装的char数组的范围.
出于同样的原因,您需要将第二个for循环更改为
for(int j=name.length()-1 ;j>=0;j--){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |