请问Java中for循环中打印三角形打印 求解释 不只要答案
你好,很高兴为你解答,为了让你看清楚一点,排了好久,没想到还是有人比我先回答了。不过没关系,只希望能帮你解决问题,最好是能采纳,谢谢!(没想到排了很久,最后格式还是给默认打乱了。。)
public class SJX { //主类
public static void main(String[] args) { //main函数
for(int i=0;i<5;i++){ //循环5次,打印5行
for(int k=0;k<5-i;k++){ //根据外行的行号,输出左边的空格
System.out.print(" "); //输出三角形左边空格
}
for(int j=0;j<=i;j++){ //根据外行的行号,输出星号
System.out.print("* "); //输出星号及右空格
}
System.out.print("\n"); //每行打印完后转行
}
}
}
for(int j = 0 ;j<3;j++){
if(j>i){
continue;
}
}
}
这就是打印一个三角形。
它的思路并不是真的在打印三角形,而是在遍历一个矩形。矩形的边长,等于三角形的高和三角形最长的边。无论是直角三角形,或者是等腰三角形,其实其中都是有数学规律的存在。我们不过是在利用这个规律在打印。例如第一行打印一个,第二行打印两个……就会发现每行打印的个数和行数是有关系的。如果说是等腰三角形的话,它的打印位置是和底有关系的。