public class ReverseStr {
/**
* 利用递归实现一行字符串的反转
* @param String str
* @return void
*/
public void reverse(String str){
//打印出字符串最后一个字符
System.out.print(str.substring(str.length()-1));
if(str.length()>1){
//System.out.println("str="+str);
//提取新的字符串,就是去掉最后一个字符的字符串
String str1=str.substring(0,str.length()-1);
//System.out.println("str1="+str1);
//递归调用
this.reverse(str1);
}
}
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
rs.reverse("adfc");
}
}
这里需要熟悉String类的substring()方法:
public String substring(int beginIndex)
-
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
例如:
-
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)
public String substring(int beginIndex, int endIndex)
-
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的
beginIndex
处开始,一直到索引endIndex - 1
处的字符。因此,该子字符串的长度为endIndex-beginIndex
。示例:
-
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile" -
-
//针对一行数字,将这个数字反转 public static void reverse(int number){ if(number<10){ System.out.print(number); } else{ int num = number%10; System.out.print(num); reverse(number/10); } }