帮忙解读 java三角形回文

来源:百度知道 编辑:UC知道 时间:2024/05/29 18:49:49
//在网上看到的,觉得算法很简练,但是不怎么理解
1
121
12321
1234321
123454321
源代码如下:
public class PrintShape {

public static void main(String[] args) {
String des="",asc="";
for(int r=1;r<6;r++) {
asc=asc+r;
System.out.println(asc+des);
des=r+des;
}
System.exit(1);
}
}//恳请大家帮忙解读一下这个循环执行的过程。 谢谢!
谢谢这位朋友的回答,我先前是错误的把“+”当成是“加号”了。但是我还想问一下:asc与des每循环一次之后都保存了最新的值,像static 修饰的数字一样,请问字符串有static之说吗?

就是一个字符串的相加
只要记住其它类型的与字符串运算都自动转化为字符串类型了
譬如
String s = "",str=null;
int n = 123;
str = s+n;
那么str就是"123"了 自动把n转化为字符串了
知道这个了就很好理解了
就是每次循环都将字符串累加了 注意每次都变化了就行了

asc是向后补充数字,des是向前补充数字,des总是比asc慢一步,以保证最大的数只输出一次,声明为static的变量才能在静态方法中直接使用