【java练习】来打印各种形状的三角形吧!!(循环练习)
2017-10-28 18:44
447 查看
打印四行四列的星号:
**** **** **** ****
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { System.out.print("*");//连续打印*,不换行 } System.out.println();//换行 } }
打印四行三列的星号:
*** *** *** ***
public static void main(String[] args) { for(int i=0;i<4;i++) {//i控制行 for(int j=0;j<3;j++) {//j控制列 System.out.print("*"); } System.out.println(); } }
用星号打印正立的直角三角形:
* ** *** ****
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<i+1;j++) {//j是随着i的变化而变化的 System.out.print("*"); } System.out.println(); } }
用星号打印倒立的直角三角形!
**** *** ** *
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<4-i;j++) { System.out.print("*"); } System.out.println(); } }
直角在右边的正立直角三角形!!
* ** *** ****
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<3-i;j++) { System.out.print(" "); } for(int j=0;j<i+1;j++) { System.out.print("*"); } System.out.println(); } }
这个就是同一行先打印空格在再打印星号~因为空格和星号的变化规律不一样所以就分开写啦,行数控制的循环(外循环)其实没变的!
直角在右的倒立三角形
**** *** ** *
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<i;j++) { System.out.print(" "); } for(int j=0;j<4-i;j++) { System.out.print("*"); } System.out.println(); } }
思路和上面一样(:з」∠)
用星号打印一个对称的三角形!
* *** ***** *******
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<3-i;j++) { System.out.print(" "); } for(int j=0;j<(i+1)*2-1;j++) { System.out.print("*"); } System.out.println(); } }
上面的这种是直接通过观察行和列的关系写的!
第1行 1个* 1=1*2-1
第2行 3个* 3=2*2-1
第3行 5个* 5=3*2-1
。。。 j=i*2-1
下面这种是通过分割这个三角形,分成每行*增加一个的两个直角三角形。
*| **|* ***|** ****|***
public static void main(String[] args) { for(int i=0;i<4;i++) { for(int j=0;j<3-i;j++) { System.out.print(" "); } for(int j=0;j<i+1;j++) { System.out.print("*"); } for(int j=0;j<i;j++) { System.out.print("*"); } System.out.println(); } }
打印一个乘法口诀表吧
1x1=1 2x1=2 2x2=4 3x1=3 3x2=6 3x3=9 4x1=4 4x2=8 4x3=12 4x4=16 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
public static void main(String[] args) { for(int i=1;i<10;i++) { for(int j=1;j<i+1;j++) { System.out.print(i+"x"+j+"="+i*j+"\t"); } System.out.println(); } }
这个i和j等于0开始会比较方便!可以直接用于乘法口诀的内容。
“\t”这个是制表符!可以很完美的让每一行每一个对齐!强迫症的首选!
打印个菱形吧~
* *** ***** *** *
public static void main(String[] args) { for(int i=0;i<3;i++) { for(int j=0;j<2-i;j++) { System.out.print(" "); } for(int j=0;j<(i+1)*2-1;j++) { System.out.print("*"); } System.out.println(); } for(int i=0;i<2;i++) { for(int j=0;j<i+1;j++) { System.out.print(" "); } for(int j=0;j<(2-i)*2-1;j++) { System.out.print("*"); } System.out.println(); } }
嘿呀,就是上下两个三角形拼起来
打印一个空心的菱形吧~
* * * * * * * *
public static void main(String[] args) { for(int i=0;i<3;i++) { for(int j=0;j<2-i;j++) { System.out.print(" "); } for(int j=0;j<(i+1)*2-1;j++) { if(j==0||j==(i+1)*2-2) { System.out.print("*"); }else System.out.print(" "); } System.out.println(); } for(int i=0;i<2;i++) { for(int j=0;j<i+1;j++) { System.out.print(" "); } for(int j=0;j<(2-i)*2-1;j++) { if(j==0||j==(2-i)*2-2) { System.out.print("*"); }else System.out.print(" "); } System.out.println(); } }
输出星号的时候判断一下,如果是第一个或者最后一个再打印,如果都不是,就打印空格。
总结
我觉得还是必须先确定这个循环控制什么的,起点在哪结束条件是什么,然后分析一下行和列的关系,递增、递减,找找规律!一定要先理清楚外面的循环再写里面的循环(:з」∠)相关文章推荐
- Java中循环问题:for,while,do-while 各种练习(打印上三角、下三角、输出100以内的素数、水仙花、最大公约、最小公倍数、分解质因数、兔子问题)
- Java循环练习:打印图案-3
- java一个循环打印三角形
- Java 打印各种直角三角形和乘法表
- Java循环练习:打印图案-4
- Java语法训练-打印各种三角形
- 使用循环打印各种变形三角形
- JAVA——程序流程控制——循环语句——for循环(打印三角形)
- Java循环练习:打印图案-1
- Java循环练习:打印图案-5
- java-第九章-循环结构进阶-输入行数,打印到直角三角形
- Java中各种打印形状
- java打印各种三角形图案,适用于9以内的数
- Java循环练习:打印图案-6
- 用java的for循环实现打印上下两个正反三角形
- java 用嵌套for循环实现九九乘法表各种形状的展现
- JAVA一层for循环实现打印正三角形和到三角形
- for循环语句应用—打印各种形状
- Java循环练习:打印图案-2
- 打印各种形状三角形(Triangle Printing Program)