package lianxi1;
import java.util.Scanner;
public class studenttest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("請輸入一個字串");
String line=sc.nextLine();
String s=reverse(line);
System.out.println(s);
}
public static String reverse(String s) {
String ss="";
for(int i=s.length()-1;i>=0;i--) {
ss +=s.charAt(i);
}
return ss;
}
}
為什么for回圈s.length()還要-1
uj5u.com熱心網友回復:
charAt 實際是陣列運算, "abc"轉換成 char[] 后長度是3,下標從0開始,char[0] char[1] char[2] ,你程式中的回圈for 回圈從陣列最后1位char[2] 所以長度3要減1
uj5u.com熱心網友回復:
因為下標是從0開始的,比如字串長為5,那么下標就是0到4。uj5u.com熱心網友回復:
charAt() 是把字串轉為了字符陣列,下標是從0開始的,它的范圍是[0,s.length()-1]你要是不-1就會報IndexOutOfBoundsException陣列下標越界例外了。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/284322.html
標籤:Eclipse
上一篇:jsp除錯問題