Strings=”abcdef“;写一个方法trianglePrint(s){}这个方法的输出是afabefabcdef是个等边三角形,要求用递归的思想来做,不能有任何for循环谢谢啦publicclassA4Q1umtan42{publicstat...
String s = ”abcdef“;
写一个方法 trianglePrint(s){ }
这个方法的输出是
af
abef
abcdef
是个等边三角形,要求用 递归的思想来做,不能有任何 for 循环 谢谢啦
public class A4Q1umtan42{
public static void main(String agrs[]){
String s1 = "a";
String s2 = "abc";
String s3 = "abcd";
String s4 = "disestablishmentarianism";
String s5 = "+-! *# =~ ~= #* !-+";
trianglePrint(s1);
trianglePrint(s2);
trianglePrint(s3);
trianglePrint(s4);
trianglePrint(s5);
}
public static void trianglePrint(String s){
trianglePrintRecursive(s, 0);
}
public static void trianglePrintRecursive(String s , int i){
//if the length of string is even
if(s.length() % 2 == 0){
if(i < s.length()/2){
spacesPrint(s , i);
System.out.println(s.substring(0, i+1) + s.substring(s.length()-(i+1) , s.length()));
trianglePrintRecursive(s , i + 1);
}
}
//if the length is odd
else{
String temp = s.concat(" ");
trianglePrint(temp);
}
}
public static void spacesPrint(String s , int i){
if(i+1 < s.length()/2 ){
System.out.print(" ");
spacesPrint(s , i + 1);
}
}
}
展开