习题:循环结构(二)

目录

练习11:A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。 例如:90+09=99

练习12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么 

练习13:输出九九乘法表 

练习14:使用Java实现输出如下图形。 

 练习15:实现双色球的彩票功能。规则:从33个红球中随机选择不重复的6个数,从16个篮球中随机选择1个组成一注彩票。可以选择买多注。

 练习16:输出1-100之间的不能被5整除的数,每5个一行。

练习17:输出斐波那契额数列数列的前20项 

 练习18:输出一个整数的二进制数、八进制数、十六进制数。

练习19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no”  

练习20:随机产生一个字符,判断:如果为大写字母则输出“大写字母”;如果为小写字母则输出“小写字母”;否则怎输出“其他字符”; 


练习11:A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。 例如:90+09=99



	/*
	 * 练习11:A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。 例如:90+09=99
	 * 
	 */
    //多个循环嵌套
	public static void main(String[] args) {
		for (int a = 0; a < 10; a++) {
			for (int b = 0; b < 10; b++) {
				for (int c = 0; c < 10; c++) {
					for (int d = 0; d < 10; d++) {
						if (10 * a + b + 10 * c + d == 10 * d + a) {
							System.out.println(a + "" + b + "+" + c + "" + d + "=" + d + a);
						}
					}
				}
			}
		}
	}

练习12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么 



	/*
	 * 练习12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么
	 */
	public static void main(String[] args) {

		int num = (int) (Math.random() * 10000);
		System.out.println(num);

		int geWei;
		int shiWei;
		int baiWei;
		int qianWei;

		if (num >= 0 && num < 10) {
			geWei = num;
			System.out.println("该数共有1位,个位是:" + geWei);
		} else if (num >= 10 && num < 100) {
			geWei = num % 10;
			shiWei = num / 10;
			System.out.println("该数共有2位,个位是:" + geWei + ",十位是:" + shiWei);
		} else if (num >= 100 && num < 1000) {
			geWei = num % 10;
			shiWei = num / 10 % 10;
			baiWei = num / 100;
			System.out.println("该数共有3位,个位是:" + geWei + ",十位是:" + shiWei + ",百位是:" + baiWei);
		} else if (num >= 1000 && num < 10000) {
			geWei = num % 10;
			shiWei = num / 10 % 10;
			baiWei = num / 100 % 10;
			qianWei = num / 1000;
			System.out.println("该数共有4位,个位是:" + geWei + ",十位是:" + shiWei + ",百位是:" + baiWei + ",千位是:" + qianWei);
		}
	}

练习13:输出九九乘法表 



	/*
	 * 练习13:输出九九乘法表
	 */
	public static void main(String[] args) {
		// 外层循环控制行数
		for (int i = 1; i <= 9; i++) {
			// 内层循环控制列数
			for (int j = 1; j <= i; j++) {
				System.out.print(j + "*" + i + "=" + (i * j) + "\t");
			}

			System.out.println();
		}

	}

练习14:使用Java实现输出如下图形。 



	/*
	 * 练习14:使用Java实现输出如下图形。
	 */
	public static void main(String[] args) {
		/*
		 * 
		 * 			*
		 * 		   ***
		 * 		  *****
		 */
		//外层循环控制行数
		for (int i = 1; i <= 3; i++) {
			//输出每一行前面的空格“ ”
			for (int j = 3-i; j >0; j--) {
				System.out.print(" ");
			}
			//输出每一行的“*”
			for (int k = 2*i-1; k >0; k--) {
				System.out.print("*");
			}
			//换行
			System.out.println();
		}

	}



	/*
	 * 练习14:使用Java实现输出如下图形。
	 */
	public static void main(String[] args) {
		/*
		 * 			   ******
		 * 			  ********
		 * 			 **********
		 * 			************
		 * 		   **************
		 * 		  ****************
		 * 		   **************
		 * 			************
		 * 			 **********
		 * 			  ********
		 * 			   ******
		 */
		//上半截图形:外层循环控制行数
		for (int i = 1; i <= 6; i++) {
			//输出每一行前面的空格“ ”
			for (int j = 6-i; j >0; j--) {
				System.out.print(" ");
			}
			//输出每一行的“*”
			for (int k = 2*i+4; k >0; k--) {
				System.out.print("*");
			}
			//换行
			System.out.println();
		}
		
		//下半截图形:外层循环控制行数
		for (int i = 1; i <= 5; i++) {
			//输出每一行前面的空格“ ”
			for (int j = i; j >0; j--) {
				System.out.print(" ");
			}
			//输出每一行的“*”
			for (int k = 16-2*i; k >0; k--) {
				System.out.print("*");
			}
			//换行
			System.out.println();
		}
		
	}



	/*
	 * 练习14:使用Java实现输出如下图形。
	 */
	public static void main(String[] args) {
		/*
		 * 					*
		 * 			   	   * *
		 * 			  	  *   *
		 * 				 *     *
		 * 				*       *
		 * 			   *         *
		 * 			  *           *
		 * 			 *             *
		 * 			*               *
		 * 			 *             * 
		 * 			  *           *
		 * 			   *         *
		 * 				*       *
		 * 				 *     *
		 * 				  *   *
		 * 				   * *
		 * 					*
		 */
		//上半截图形:外层循环控制行数
		System.out.println("        *");
		for (int i = 1; i <= 8; i++) {
			//输出每一行前面的空格“ ”
			for (int j = 8-i; j >0; j--) {
				System.out.print(" ");
			}
			//输出“*”
			System.out.print("*");
			//输出空格“ ”
			for (int k = 2*i-1; k >0; k--) {
				System.out.print(" ");
			}
			//输出“*”
			System.out.println("*");
		}
		
		//下半截图形:外层循环控制行数
		for (int i = 1; i <= 7; i++) {
			//输出每一行前面的空格“ ”
			for (int j = i; j >0; j--) {
				System.out.print(" ");
			}
			//输出“*”
			System.out.print("*");
			//输出空格“ ”
			for (int k = 15-2*i; k >0; k--) {
				System.out.print(" ");
			}
			//输出“*”
			System.out.println("*");
		}
		System.out.println("        *");

	}



	/*
	 * 练习14:使用Java实现输出如下图形。
	 */
	public static void main(String[] args) {
		/*
		 * 		***************
		 * 		******* *******
		 * 		******   ******
		 * 		*****     *****
		 * 		****       ****
		 * 		***         ***
		 * 		**           **
		 * 		*             *
		 */
		//外层循环控制行数
		System.out.println("***************");
		for (int i = 1; i <= 7; i++) {
			//输出每一行前面的“*”
			for (int j = 8-i; j >0; j--) {
				System.out.print("*");
			}
			//输出每一行的空格“ ”
			for (int k = 2*i-1; k >0; k--) {
				System.out.print(" ");
			}
			//输出每一行后面的“*”
			for (int m = 8-i; m >0;m--) {
				System.out.print("*");
			}
			//换行
			System.out.println();
		}
		
	}

 练习15:实现双色球的彩票功能。规则:从33个红球中随机选择不重复的6个数,从16个篮球中随机选择1个组成一注彩票。可以选择买多注。



	/*
	 * 练习15:实现双色球的彩票功能。规则:从33个红球中随机选择不重复的6个数,从16个篮球中随机选择1个组成一注彩票。可以选择买多注。
	 */
	public static void main(String[] args) {

		// 输出篮球
		int blueBall = (int) (Math.random() * 16 + 1);

		// 输出红球
		int redBall1 = (int) (Math.random() * 33 + 1);
		int redBall2 = 0;
		int redBall3 = 0;
		int redBall4 = 0;
		int redBall5 = 0;
		int redBall6 = 0;

		while (true) {
			int redBall = (int) (Math.random() * 33) + 1;
			if (redBall6 != 0) {// redBall6不等于0说明redBall6已经获得值了
				break;// redBall6获得值了就退出循环
			}
			if (redBall != redBall1 && redBall2 == 0) {
				redBall2 = redBall;
			} else if (redBall != redBall1 && redBall != redBall2 && redBall3 == 0) {
				redBall3 = redBall;
			} else if (redBall != redBall1 && redBall != redBall2 && redBall != redBall3 && redBall4 == 0) {
				redBall4 = redBall;
			} else if (redBall != redBall1 && redBall != redBall2 && redBall != redBall3 && redBall != redBall4
					&& redBall5 == 0) {
				redBall5 = redBall;
			} else if (redBall != redBall1 && redBall != redBall2 && redBall != redBall3 && redBall != redBall4
					&& redBall != redBall5 && redBall6 == 0) {
				redBall6 = redBall;
			}
		}

		System.out.println(redBall1 + " " + redBall2 + " " + redBall3 + " " + redBall4 + " " + redBall5 + " " + redBall6
				+ "---" + blueBall);

	}

 练习16:输出1-100之间的不能被5整除的数,每5个一行。

 



	/*
	 * 练习16:输出1-100之间的不能被5整除的数,每5个一行。
	 */
	public static void main(String[] args) {
		int count = 0;
		for (int i = 1; i <= 100; i++) {
			if (i % 5 != 0) {
				System.out.print(i + " ");
				count++;

				if (count % 5 == 0) {
					System.out.println();
				}
			}
		}

	}

练习17:输出斐波那契额数列数列的前20项 



	/*
	 * 练习17:输出斐波那契数列数列的前20项
	 * 
	 * 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda
	 * Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”, 指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
	 * 规则:从第三个数开始,每一个数是前面两个数之和
	 */
	public static void main(String[] args) {
		for (int counter = 0; counter <= 10; counter++) {
			System.out.println(fibonacci(counter));
		}
	}

	public static long fibonacci(long number) {
		if ((number == 0) || (number == 1))
			return number;
		else
			return fibonacci(number - 1) + fibonacci(number - 2);
	}

 练习18:输出一个整数的二进制数、八进制数、十六进制数。



	/*
	 * 练习18:输出一个整数的二进制数、八进制数、十六进制数。
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int num = sc.nextInt();
		System.out.println("你输入的整数" + num + "转换为二进制为:" + Integer.toBinaryString(num));
		System.out.println("你输入的整数" + num + "转换为八进制为:" + Integer.toOctalString(num));
		System.out.println("你输入的整数" + num + "转换为十六进制为:" + Integer.toHexString(num));
		sc.close();

	}

练习19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no”  



	/*
	 * 练习19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no” 
	 * 		a-z:97~122 
	 * 		A~Z:65~90
	 */
	public static void main(String[] args) {

		int num = (int) (Math.random() * 58 + 65);
		if (num >= 65 && num <= 90) {
			System.out.println("Yes");
			System.out.println((char) num);
		} else {
			System.out.println("no");
			System.out.println(num);
			System.out.println((char) num);
		}

	}

练习20:随机产生一个字符,判断:如果为大写字母则输出“大写字母”;如果为小写字母则输出“小写字母”;否则怎输出“其他字符”; 



	/*
	 * 练习20:随机产生一个字符,判断:如果为大写字母则输出“大写字母”;如果为小写字母则输出“小写字母”;否则怎输出“其他字符”;
	 * 		a-z:97~122 
	 * 		A~Z:65~90
	 */
	public static void main(String[] args) {
		int num = (int) (Math.random() * 58 + 65);
		if (num >= 65 && num <= 90) {
			System.out.println("大写字母");
			System.out.println((char) num);
		} else if(num>=97&&num<=122) {
			System.out.println("小写字母");
			System.out.println((char) num);
		}else{
			System.out.println("其他字符");
		}
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值