双重for循环在控制台画任意图形
相必很多初学者学习编程的时候都会碰到这样的题
1、用双重for循环打印一个菱形
2、打印九九乘法表
那么我们如何去分析这样的题目呢?
思路:
1、首先建立一个双重for循环:
2、外层的for循环,每循环一次输出一行( System.out.println() ),达到换行的效果
3、内层的for循环,每循环一次输出一列( System.out.print("* “) 或者 System.out.print(” ")),注意不用换行
分析:数学直角坐标的转换,学过数学的同学都懂的<- _ <-
1、从中我们可以看出,外层循环就相当于y轴,内层循环就相当于x轴。只不过这里y轴正方向向下乐而已
2、if里面的条件就相当于函数的方程,当满足“方程”的时候,就打印输出一个 “ * ”,否则就打印空(转换成数学
的y(i)-x(j)<0,也就是 y=x 这条直线的上方,注意:这里的 y 是 j 变量,x 是 i 变量,y轴正方向向下,所以是y=x的上方, )
// 建立两个for循环,外层控制行,内层控制列
/**
* @author anle5
* @date 2019/04/07 9:51
*/
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i-j<0){
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
所以结果会是这样子的
如果想打印其他图行,只要在if条件里面写入你的函数表达式就行了。小贴士:复杂图形可用多个函数 用 || 拼接起来作为if条件
第一次做博客!还请大佬们手下留情~~