java经典例题30道——(21-25)

21.打印一个如下图所示的图案

在这里插入图片描述

public static void main(String[] args) {
			 print();
	
		}
		
		public static void print() {
			for(int a=1;a<=5;a++) {          //控制行数,换行
				for(int i=0;i<=(5-a);i++) {  //控制打印等腰三角形前面的空格
					System.out.print(" ");
				}
				for(int b=1;b<=a;b++) {     //控制打印组成等腰三角型的*号和空格
					System.out.print("*");  
					if(b==a) {              //不要打印每行最后的空格
						break;
					}
					System.out.print(" ");
				}
				for(int c=1;c<(5-a);c++) {  //打印三角型后边的空格
					System.out.print(" ");
				}
				for(int d=1;d<=2;d++) {  //打印三角形后边的*号
					System.out.print("*");
					if(a==5) {            //使最后一行只打印一个*号
						break;
					}
				}
				System.out.println("");
			}
			for(int i=1;i<=6;i++) {        //打印最下面的矩形
				for(int a=1;a<=6;a++) {
					System.out.print("* ");
				}
				System.out.println("");
			}
		}

22.求1000以内 能被 40以内的三个最大素数的和 整除的数?

public static void main(String[] args) {
			seekNum();
	
		}
		public static void seekNum() {
			int temp=0;
			int  x=0;
	outLoop:for(int a=39;a>1;a--) {
				for(int b=2;b<a;b++) {
					if(a%b==0) {
						break;
					}
					else if (b==(a-1)) {
						temp+=a;			//求40以内最大的三个素数
						x++;
						if(x==3) {
							break outLoop;
						}
					}
				}
			}
			for(int a=1;a<1000;a++) {
				if(a%temp==0) {
					System.out.print(a+"\t");
				}
			}
		}

23.打印如下图所示的菱形

在这里插入图片描述

 

public static void main(String[] args) {
			for(int i=1;i<=6;i++) {
				for(int a=1;a<=(6-i);a++) {
					System.out.print(" ");
				}
				System.out.print("* ");
				for(int b=2;b<i;b++) {
					System.out.print(" ");
					if(i>=3) {
						System.out.print(" ");
					}
				}
				if(i>=2) {
					System.out.print("*");
				}
				
					System.out.println("");
				
			}
			
			for (int a=1;a<=5;a++) {
				for(int i=1;i<=a;i++) {
					System.out.print(" ");
				}
				System.out.print("* ");
				for(int b=(5-a);b>1;b--) {
					System.out.print("  ");
					
				}
				if(a<5) {
				System.out.print("*");
				}
				System.out.println("");
			}
		}

24.打印如下所示的平行四边形

在这里插入图片描述

public static void main(String[] args) {
			for(int i=1;i<=4;i++) {
				for(int a=1;a<=(4-i)*2;a++) {
					System.out.print(" ");
				}
				for(int j=1;j<=6;j++) {
					if((i==2||i==3) &&(j>1 && j<6) ) {
						System.out.print("  ");
					}
					else {
						System.out.print("* ");
					}
				}
				System.out.println("");
			}
		}

25.键盘输入任意数字,打印任意行菱形,大致如下

在这里插入图片描述

public class Test {
	
		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);
			System.out.println("提示如果输入的是偶数则程序会输出一个这个偶数加一之后的奇数的菱形");
			System.out.println("请输入一个数:");
			int a= sc.nextInt();
			print(a);
	
		}
		public static void print(int a) {
			for (int i=1;i<=(a/2)+1;i++) {
				for(int b=i;b<=(a/2);b++) {
					System.out.print(" ");
				}
				for(int c=1;c<=i;c++) {
					System.out.print("*");
				}
				for(int c=2;c<=i;c++) {
					System.out.print("*");
				}
				System.out.println("");
			}
			for (int i=1;i<=(a/2);i++) {
				for(int b=1;b<=i;b++) {
					System.out.print(" ");
				}
				for(int c=i;c<=(a/2);c++) {
					System.out.print("*");
				}
				for(int c=i+1;c<=(a/2);c++) {
					System.out.print("*");
				}
				
				System.out.println("");
			}
		}
	}

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值