一:问题描述:
将从控制台输入的不定长度的任意字符串逆向输出
二:程序分析:
既然不定长度,说明不能使用反向迭代方式实现,而这里要逆向输出,而且不知道入参的长度,最佳的实现方式就是利用递归来实现。
三:用java语言实现任意长度字符串的逆向输出
package algorithm;
import java.util.Scanner;
/**
* @packagname:algorithm
* @classname:InvertedPrint
* @date:2017/3/18
* @author:cullinans
* @des:倒序输出任意长度的字符串
*/
public class InvertedPrint {
public static void getInvertedPrint(String str){
char[] strChars=str.toCharArray();
if(str.length()==1){
System.out.print(strChars[str.length()-1]);
}else{
System.out.print(str.charAt(str.length()-1));
getInvertedPrint(str.substring(0,str.length()-1));
}
}
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String canKnowLength;
System.out.println("请输入任意长度的字符串:");
canKnowLength=scanner.nextLine();
System.out.println("字符串倒置输出的结果为:");
getInvertedPrint(canKnowLength);
}
}
四:运行结果