先简单小谈一下,首先需要理解for的使用方法,设置需要循环的次数,设置需要循环输出的内容,for循环就完成了。
正反三角就是单纯for的嵌套循环,就是循环再循环,有点儿抽象了,可能新手会短暂反应不过来(我反正是这样的-.-)。找个东西形容一下,for的嵌套循环,你可以把他看作时钟的时针和分针,时针转一个小时,而分针就需要转一圈,时针转两个小时,分针就需要转两圈.....以此类推。
思路分析:
需要打印出一个5行的三角形图案(也就是时钟需要走五个小时),而具体里面的内容,需要打印几个空格、几个*号,这些都是随着每行变化的,所以也为他们设置循环,但是空格循环次数要大于行数、*号循环次数要小于(行数*2-1)。然后最外面的循环(时针)每运行一次,里面的这两个for嵌套(两个分针)就会执行所对应的次数。
(菱形把中间的ni hao 那部分 注释或者去掉 就是一个菱形了.
public class xm_12_正反三角 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("输出三角形图案");
// 5行
for(int i = 1; i <= 5; i++) {
// 小循环内部是一个整体 大循环 一次 小循环就循环里面的c次 并且出来的结果是一整行的
// c-- 若c大于等于 0 那么可以连续输出 5个空格 下一次大循环 还是输出5个空格
// c-- 若c大于等于i 第一次大循环 可以输出 4个空格 然后第二次大循环 可以输出三个空格 .....往复
for(int c = 5; c >= i; c--) {
System.out.print(" ");
}
for(int a = 1; a <= i*2-1; a++) {
System.out.print("*");
}
// 下面这行代码的作用是换行 最大的循环for(int i = 0; i <= 5; i++) 结束一次 换一次行
System.out.println("");
}
for(int o = 1; o <= 3; o++) {
System.out.print("nihao,");
}
System.out.println("nihao");
// u是行数
for(int u = 1; u <= 6; u++) {
for(int h = 1; h <= u; h++) {
System.out.print(" ");
}
for(int t = 10; t >= u*2-1; t--) {
System.out.print("*");
}
System.out.println("");
}
}
}