Java中用*输出矩形、三角形

用*输出矩形:

用*输出矩形时,使用for循环令行数和列数分别小于等于规定的值即可。

	public static void main(String[] args) {
		//使用嵌套循环打印四行五列星星矩阵
		for(int i = 1;i <= 4;i++) {
			for(int j = 1;j <= 5;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

用*输出五行五列的直角三角形:

//输出五行五列的直角三角形
*
**
***
****
*****
	public static void main(String[] args) {
		for(int i = 1;i <= 5;i++) {
			for(int j = 1;j <= i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

用*输出等腰三角形:

第一行有一个*,第二行有三个*,以此类推,第i行有2i-1个*。
第一行有四个空位,第二行有三个空位,我们发现,每一行的空位数等于总行数减去该行的序号。即第一行的空位数为5-1=4…第五行的空位数为5-5=0。
我们只需在上个例子的基础上,在每一行添加足够的空位即可。

	public static void main(String[] args) {
		/*       *          *1-1  空1-4
		 *      ***          2-3   2-3
		 *     *****         3-5   3-2
		 *    *******        4-7   4-1
		 *   *********       5-9   5-0
		 *   2i-1
		*/
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入行数:");
		int n = sc.nextInt();
		for(int i = 1;i <= n;i++) {
			for(int k = n - i;k >= 0;k--) {
				System.out.print(" ");
			}
			for(int j = 1;j <= 2 * i - 1;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

用*输出反直角三角形:

在前两个例子的基础之上,我们在每一行添加足够的空位即可。

	public static void main(String[] args) {
		/*       *      
		 *      **     
		 *     ***       
		 *    ****       
		 *   *****       
		 */
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入行数:");
		int n = sc.nextInt();
		for(int i = 1;i <= n;i++) {
			for(int k = n - i;k >= 0;k--) {
				System.out.print(" ");
			}
			for(int j = 1;j <= i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

用*输出倒等腰三角形:

根据以上几个例子的经验,我们先找出规律。
第一行有九个*,第二行有七个*,不难发现总行数减去每一行的序号再加一即为该行的数量,即2(n-i)+1。

public static void main(String[] args) {
		/*   *********      *1-9  空1-0
		 *    *******        2-7   2-1
		 *     *****         3-5   3-2
		 *      ***          4-3   4-3
		 *       *           5-1   5-4 
		 */
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入行数:");
		int n = sc.nextInt();
		for(int i = 1;i <= n;i++) {
			for(int k = 2;k <= i;k++) {
				System.out.print(" ");
			}
			for(int j = 2 * (n - i) + 1;j > 0;j--) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

你可能感兴趣的:(java)