//打印三角图案
public class TuAn {
public static void main(String[] args) {
//可以把要打印的点位置理解成这样,举例是一个6*6的正方形:
//00 01 02 03 04 05
//10 11 12 13 14 15
//20 21 22 23 24 25
//30 31 32 33 34 35
//40 41 42 43 44 45
//50 51 52 53 54 55
//然后你要打印什么样的三角形,就要找那些点的位置规律,ij值的变化
//特殊的三角形需要拆分和组装,只要最后形状是对的即可
//左下直角
zuoXiaZhiJiao();
System.out.println();
System.out.println("=================");
System.out.println();
//左上直角
zuoShangZhiJiao();
System.out.println();
System.out.println("=================");
System.out.println();
//右下直角
youXiaZhiJiao();
System.out.println();
System.out.println("=================");
System.out.println();
//右上直角
youShangZhiJiao();
//以上打印其实只用到正序和倒序正方形输出的一部分
jiChu();
System.out.println();
System.out.println("=================");
System.out.println();
//"等腰"三角
dengYaoSanJiao();
}
private static void dengYaoSanJiao() {
//疑惑的同学可以自己修改print内容,看看每一部分具体的样子
//<<和>>是左移和右移,等价于乘和除,原理就是对数的二进制进行移位操作
//<<1左移一位 = 乘以2,<<2左移两位 = 乘以4
//>>1右移一位 = 除以2 思考一下1>>1结果是?
for(int i=1;i<=8;i++){
//第一部分
for(int j=8; i<=j; j--){
System.out.print(" ");
}
//第二部分
int num =1;
for(int j=1; j<=i; j++){
System.out.print(" "+num+" ");
num = num<<1;
}
//第三部分
num = num>>1;
for(int j=1; j<i; j++){
num = num>>1;
System.out.print(" "+num+" ");
}
System.out.println();
}
}
private static void jiChu() {
System.out.println();
System.out.println("=================");
System.out.println();
for(int i=1;i<7;i++){
for(int j=1;j<7;j++){
System.out.print(j);
}
System.out.println();
}
System.out.println();
System.out.println("=================");
System.out.println();
for(int i=1;i<7;i++){
for(int j=6;j>0;j--){
System.out.print(j);
}
System.out.println();
}
}
private static void youShangZhiJiao() {
for(int i=6;i>0;i--){
for(int j=6;j>0;j--){
if(j<=i){
System.out.print(j);
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
private static void youXiaZhiJiao() {
for(int i=1;i<7;i++){
for(int j=6;j>0;j--){
if(j<=i){
System.out.print(j);
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
private static void zuoShangZhiJiao() {
for(int i=6;i>0;i--){
for(int j=1;j<7&&j<=i;j++){
System.out.print(j);
}
System.out.println();
}
}
private static void zuoXiaZhiJiao(){
for(int i=1;i<7;i++){
for(int j=1;j<7&&j<=i;j++){
System.out.print(j);
}
System.out.println();
}
}
}