java使用for循环结构打印图形

导读:本篇文章讲解 java使用for循环结构打印图形,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

使用双重循环打印20 * 8的矩形,使用for循环实现

class Exer1{
	public static void main(String[] args) {
        int i,j = 0;
		for (i = 1;i <= 20;i++){
			for (j = 1;j <= 8;j++){
				System.out.print("*");
			}
			System.out.println(" ");
		}
    }
}

打印倒三角

********
*******
******
*****
****
***
**
*

class Exer1{
	public static void main(String[] args) {
        int i,j = 0;
		for (i = 1;i <= 8;i++){//i表示需要打印的行数
			for (j = 8;j >= i;j--){//j表示每行打印的*个数
				System.out.print("*");
			}
			System.out.println(" ");
		}
    }
}

打印正三角

*
**
***
****
*****
******
*******
********

class Exer1{
	public static void main(String[] args) {
        int i,j = 0;
		for (i = 1;i <= 8;i++){//i表示需要打印的行数
			for (j = 1;j <= i;j++){//j表示每行打印的*个数
				System.out.print("*");
			}
			System.out.println(" ");
		}
    }
}

打印右三角

*
***
*****
*******
*****
***
*

class Exer1{
	public static void main(String[] args) {
        int i,j = 0;
		for (i = 0;i < 7 ;i++){
			if (i < 4){
				for (j = 0;j < 2*i+1;j++){//每行需打印的*个数
				System.out.print("*");
			}
				System.out.println(" ");
			}else{
				for (int k = 0;k < 13 - 2 * i;k++){//计数规则和数组类似,从0开始
					System.out.print("*");
				}
				System.out.println(" ");
			}	
		}
    }
}

7行的菱形

    *
   * *
  * * *
 * * * *
* * * * *
 * * * *
  * * *
   * *
    *

class Exer1{
	public static void main(String[] args) {
        int i,j,k = 0;
		for (i = 0;i < 5 ;i++){//上半部分
				for (j = 0;j < 4-i;j++){//每行的前边有几个空格
					System.out.print(" ");
				}
				for (k = 0;k < i+1;k++){//每行打印几个*
					System.out.print("* ");//*后边有个空格
				}
				System.out.println();
			}
		for (i = 0;i < 4 ;i++){//下半部分
				for (j = 0;j < i+1;j++){
					System.out.print(" ");
				}
				for (k = 0;k < 4-i;k++){
					System.out.print("* ");
				}
				System.out.println();
		}
    }
}

 打印空心菱形

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *

class Exer1{
	public static void main(String[] args) {
       int i,j,k = 0;
		//上半部分
		for (i = 1;i <= 5 ;i++){//i表示空心菱形上半部分行数;
				for (j = 1;j < (6-i);j++){//j控制每行"*"前面的空格数
					System.out.print(" ");
				}
				for (k = 1;k <= (2*i-1);k++){//k控制要打印的"*"的个数
					if (i == 1){//如果是第一行则将"*"全部打印
						System.out.print("*");
					}else if (k == 1||k == (2*i-1)){//如果要打印的"*"是第一个或最后一个,则打印出来
						System.out.print("*");
					}else{//如果要打印的"*"不是第一个或最后一个,则打印空格
						System.out.print(" ");
					}
				}
				System.out.println();
		}
		//下半部分
		for (i = 0;i < 4 ;i++){//空心菱形的下半部分的行数比上半部分少一行
				for (j = 0;j < (i+1);j++){//j控制每行"*"前面的空格数
					System.out.print(" ");
				}
				for (k = 0;k < (2*(4-i)-1);k++){//k控制要打印的"*"的个数
					if (i == 3){//如果是最后一行则将"*"全部打印
						System.out.print("*");
					}else if (k == 0||k == 2 * (3 - i)){//如果要打印的"*"是第一个或最后一个,则打印出来
						System.out.print("*");
					}else{//如果要打印的"*"不是第一个或最后一个,则打印空格
						System.out.print(" ");
					}
				}
				System.out.println();
		}
    }
}

 矩形中的空菱形

**********
****  ****
***     ***
**        **
*           *
**        **
***     ***
****  ****
**********

class Exer1{
	public static void main(String[] args) {
       int i,j,k = 0;
		//上半部分
		for (i = 1;i <= 5 ;i++){//i表示空心菱形上半部分行数;
				for (k = 10;k >= 1;k --){//k控制要打印的"*"的个数
					if (i == 1){//如果是第一行则将"*"全部打印
						System.out.print("*");
					}else if (k <= (6-i) || k >= (5+i)){
						System.out.print("*");
					}else{
						System.out.print(" ");
					}
				}
				System.out.println();
		}
		//下半部分
		for (i = 1;i <= 4 ;i++){//空心菱形的下半部分的行数比上半部分少一行
				for (k = 1;k <= 10;k++){//k控制要打印的"*"的个数
					if (i == 4){//如果是最后一行则将"*"全部打印
						System.out.print("*");
					}else if (k <= (i+1)||k >= (10-i)){
						System.out.print("*");
					}else{
						System.out.print(" ");
					}
				}
				System.out.println();
		}
    }
}

 九九乘法表

1*1=1
2*1=2   2*2=4
3*1=3   3*2=6   3*3=9
4*1=4   4*2=8   4*3=12  4*4=16
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25
6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81

class Exer1{
	public static void main(String[] args) {
       int i,j = 0;
	  	for(i=1;i<=9;i++){
			for (j = 1;j <= i;j++){
				System.out.print(i + "*" + j + "=" + i * j +"\t");
			}
			System.out.println(" ");
		}
    }
}

 3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。

class Exer1{
	public static void main(String[] args) {
		/*方法1
		int day = 0;
		for (int x = 3000;x >=5;x /=2){
			day++;
		}
		System.out.println("day=" + day);
		*/
		//方法二
		int day = 0;
		for (int x = 3000;x >=5;day++){
			x = x/2;
		}
		System.out.println(day);
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83344.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!