JAVA基础——打印实心三角形

JAVA基础——打印实心三角形

观察题目要求,按要求打印图形(把菱形看成两个三角形的组合一样适用)

初识JAVA重点了解如果需要键入数据(获取控制台的输入)如何去处理!
在这里插入图片描述

分析题目,考虑使用循环结构

采用多层for循环,外循环控制行数,内循环来控制图案。
找规律,列表格。

键入数据打印类型——等腰实心三角形

//测试效果图:(输入数据为5)
    *
   ***
  *****
 *******
*********
package swtichFor;//包名
import java.util.Scanner;//调用ava.util的Scanner类
public class ShiXinSanJiaoXing
{
	public static void main(String[] args) 
	{
		//创建Scanner对象用于获取平台给定的输入信息
		Scanner sc = new Scanner(System.in);
        //定义需要打印的总行数
		int lineNum = sc.nextInt();

		/*
		 i(行号)      空格数量(lineNum-i)    星星数量 (2*i -1)    
			1                    5                      1
			2                    4                      3
			3                    3                      5
			4                    2                      7
			5                    1                      9
			6                    0                      11

		
		*/

		//通过外循环控制需要打印的行数
		for(int i=1;i<=lineNum;i++){

          /**********begin**********/
          
		  //通过内循环(1)控制需要打印的空格   
		 for(int j=1;j<=(lineNum-i);j++)
		 {
		System.out.print(" ");
		 }
          //通过内循环(2)控制需要打印的星星的数量
		   for(int k=1;k<=(2*i-1);k++)
		   {
			   System.out.print("*");
		   }

 
	      /**********end**********/

		  //当前行中的空格以及星星打印完成之后进行换行操作 \n表示换行
           System.out.print("\n");
		
		}

		
	}
}
//测试效果图:(输入数据为5)
    *
   ***
  *****
 *******
*********



如果只调用java.util下的scanner类,那么也可以直接用java.util.Scanner sc = new java.util.Scanner(System.in);来实现对数据的获取。

规定图形打印

1>规定打印正立的10*10直角三角形

package copePrintf;

public class ShiXinSanJiaoXing {
public static void main(String[] args) {
/*
 * 正立				行数(i)				空格数量(10-i)	      	    星星数量(i)
 * 
 * 	
 */
	for(int i=1;i<=10;i++) {
		//内循环1控制打印星星
		for(int j=1;j<=i;j++) {
			System.out.print("*");
			}
		//内循环2控制打印空格
		for(int k=1;k<=11-i;k++) {
			System.out.print(" ");
		}
		//内循环结束后换行
		System.out.println();
	}
}
}
//效果图如下:
*          
**         
***        
****       
*****      
******     
*******    
********   
*********  
********** 

2>规定打印倒立的10*10直角三角形

package copePrintf;

public class ShiXinSanJiaoXing {
public static void main(String[] args) {
/*倒立10*10        行数 (i)             空格数量(i-1)            星星数量   (11-i)
 *
 * 
 * 	
 */
//通过外循环控制打印的行数
	for(int i=1;i<=10;i++) {
		//内循环控制打印空格
		for(int j=1;j<=i-1;j++) {
			System.out.print(" ");
			}
		//内循环控制打印*
		for(int k=1;k<=11-i;k++) {
			System.out.print("*");
		}
		//内循环结束后换行
		System.out.println();
	}

}
}
效果图如下:
**********
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *
                

注意:有时候是不需要打印空格的,根据要求打印。这样我把空格用“!”表示,效果就显而易见了。

package copePrintf;

public class ShiXinSanJiaoXing {
public static void main(String[] args) {
	for(int i=1;i<=10;i++) {
		//内循环控制打印星星
		for(int j=1;j<=i;j++) {
			System.out.print("*");
			}
		//内循环控制打印空格"!"
		for(int k=1;k<=11-i;k++) {
			System.out.print("!");
		}
		//内循环结束后换行
		System.out.println();
	}
}
}
效果图如下:
*!!!!!!!!!!
**!!!!!!!!!
***!!!!!!!!
****!!!!!!!
*****!!!!!!
******!!!!!
*******!!!!
********!!!
*********!!
**********!

发布了5 篇原创文章 · 获赞 1 · 访问量 191
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览