基础知识 打印图形及常见问题

6 篇文章 0 订阅
3 篇文章 0 订阅



打印菱形:

<span style="font-size:24px;">/**
	 * 打印菱形
	 * @param num 参数是控制菱形上部分行数大小
	 */
	public static void prinlx(int num){
		
//	    *
//	    ***
//	   *****
//	  *******
//	 *********
//上部分
		for(int i=0;i<=num;i++){
//			空格和*分开考虑,“ ”的变化i=1,时候他是4,;2...3规律
			for(int j=1;j<=num-i;j++)
				System.out.print(" ");
				
				//i是1,3,5,7 规律
				for(int k=1;k<=2*i-1;k++)
					System.out.print("*");
					//换行
					System.out.println();
		}
		
		//下部分
//		 *******
//		  *****
//		   ***
//		    *
		for(int i=1;i<=num-1;i++)
		{
			//空格 1、2、3、4
			for(int j=1;j<=i;j++)
				System.out.print(" ");
			
			//*、7、5、3、1基数
			for(int k=num+2;k>=2*i-1;k--)
				System.out.print("*");
			    //换行
			    System.out.println();
		}
		
	}</span>



冒泡排序:

<span style="font-size:24px;">/**
	 * 冒泡排序
	 */
	public static void printmppx(){
		        //数组里存放随机的数字
			    int a[]={-12,61,6,3,-2,19,12,-7};
                //中间变量
			    int temp=0;
                //集合遍历
			    for(int i=0;i<a.length;i++){

			       for(int j=i+1;j<a.length;j++){
                   //a[i]第一个值
			       //a[j]第二个值对比
			       //从大到小顺序排序
			       if(a[i]<a[j]){
                       //大的存到中间变量
			           temp=a[i];
                       //第二个值复制到第一个值
			           a[i]=a[j];
			           a[j]=temp;

			       }

			       }

			    }
                //数组遍历输出
			    for(int i=0;i<a.length;i++)
			       System.out.println(a[i]);   

	}</span>





小知识点:

<span style="font-size:24px;">a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达示,执行表达式时使用的是自增后的a。
例:
int a=0
printf("%d",a++); //输出0,执行完后a=1

int a=0
printf("%d",++a);//输出1,执行完后a=1 </span>


持续更新中...

2016-8-2


<strong><span style="font-size:32px;">水仙花数</span></strong>

/**
	 * 水仙花数
	 */
	public static void printsxh(){
//		所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
//		例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
//		 int temp=0;
//	        for (int i = 100; i < 999; i++) {
//	            temp=i;
//	            int x = temp % 10;
//	            temp = temp / 10;
//	            int y = temp % 10;
//	            int z = temp / 10;
//	            if (i == x * x * x + y * y * y + z * z * z) {
//	                System.out.print(i+"\t");
//	            }
//	        }
		
		for (int number=100;number<=999;number++ ){
		    int gewei=number%10;
		    int shiwei=number/10%10;
		    int baiwei=number/100%10;
		    if (gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei==number){
				System.out.println("***水仙花数是:"+number);
			}
		}
	}


<strong><span style="font-size:32px;">打印一个5*12的长方形</span></strong>

/**
	 * 打印一个5*12的长方形 
	 */
	public static void printcfx(){
		//打印一个5*12的长方形  
//		************
//		*          *
//		*          *
//		*          *
//		************
        for (int a=0;a<5;a++)//控制长方形的宽为5  
        {  
            System.out.print("*");  
            for (int b=0;b<10;b++)//控制长为10(去除两边*的单位2)  
            {  
            	//第一个和最后一个打印 *
                if (a==0|a==4)  
                {  
                  
                    System.out.print("*");  
                }  
                else  
                {  
                System.out.print(" ");  
                }  
            }
            
            
            System.out.println("*");  
        }  
	}


2016-8-8更新



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值