• 习题:循环结构(二)


    目录

    练习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

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

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

    1. /*
    2. * 练习12:随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么
    3. */
    4. public static void main(String[] args) {
    5. int num = (int) (Math.random() * 10000);
    6. System.out.println(num);
    7. int geWei;
    8. int shiWei;
    9. int baiWei;
    10. int qianWei;
    11. if (num >= 0 && num < 10) {
    12. geWei = num;
    13. System.out.println("该数共有1位,个位是:" + geWei);
    14. } else if (num >= 10 && num < 100) {
    15. geWei = num % 10;
    16. shiWei = num / 10;
    17. System.out.println("该数共有2位,个位是:" + geWei + ",十位是:" + shiWei);
    18. } else if (num >= 100 && num < 1000) {
    19. geWei = num % 10;
    20. shiWei = num / 10 % 10;
    21. baiWei = num / 100;
    22. System.out.println("该数共有3位,个位是:" + geWei + ",十位是:" + shiWei + ",百位是:" + baiWei);
    23. } else if (num >= 1000 && num < 10000) {
    24. geWei = num % 10;
    25. shiWei = num / 10 % 10;
    26. baiWei = num / 100 % 10;
    27. qianWei = num / 1000;
    28. System.out.println("该数共有4位,个位是:" + geWei + ",十位是:" + shiWei + ",百位是:" + baiWei + ",千位是:" + qianWei);
    29. }
    30. }

    练习13:输出九九乘法表 

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

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

    1. /*
    2. * 练习14:使用Java实现输出如下图形。
    3. */
    4. public static void main(String[] args) {
    5. /*
    6. *
    7. * *
    8. * ***
    9. * *****
    10. */
    11. //外层循环控制行数
    12. for (int i = 1; i <= 3; i++) {
    13. //输出每一行前面的空格“ ”
    14. for (int j = 3-i; j >0; j--) {
    15. System.out.print(" ");
    16. }
    17. //输出每一行的“*”
    18. for (int k = 2*i-1; k >0; k--) {
    19. System.out.print("*");
    20. }
    21. //换行
    22. System.out.println();
    23. }
    24. }
    1. /*
    2. * 练习14:使用Java实现输出如下图形。
    3. */
    4. public static void main(String[] args) {
    5. /*
    6. * ******
    7. * ********
    8. * **********
    9. * ************
    10. * **************
    11. * ****************
    12. * **************
    13. * ************
    14. * **********
    15. * ********
    16. * ******
    17. */
    18. //上半截图形:外层循环控制行数
    19. for (int i = 1; i <= 6; i++) {
    20. //输出每一行前面的空格“ ”
    21. for (int j = 6-i; j >0; j--) {
    22. System.out.print(" ");
    23. }
    24. //输出每一行的“*”
    25. for (int k = 2*i+4; k >0; k--) {
    26. System.out.print("*");
    27. }
    28. //换行
    29. System.out.println();
    30. }
    31. //下半截图形:外层循环控制行数
    32. for (int i = 1; i <= 5; i++) {
    33. //输出每一行前面的空格“ ”
    34. for (int j = i; j >0; j--) {
    35. System.out.print(" ");
    36. }
    37. //输出每一行的“*”
    38. for (int k = 16-2*i; k >0; k--) {
    39. System.out.print("*");
    40. }
    41. //换行
    42. System.out.println();
    43. }
    44. }
    1. /*
    2. * 练习14:使用Java实现输出如下图形。
    3. */
    4. public static void main(String[] args) {
    5. /*
    6. * *
    7. * * *
    8. * * *
    9. * * *
    10. * * *
    11. * * *
    12. * * *
    13. * * *
    14. * * *
    15. * * *
    16. * * *
    17. * * *
    18. * * *
    19. * * *
    20. * * *
    21. * * *
    22. * *
    23. */
    24. //上半截图形:外层循环控制行数
    25. System.out.println(" *");
    26. for (int i = 1; i <= 8; i++) {
    27. //输出每一行前面的空格“ ”
    28. for (int j = 8-i; j >0; j--) {
    29. System.out.print(" ");
    30. }
    31. //输出“*”
    32. System.out.print("*");
    33. //输出空格“ ”
    34. for (int k = 2*i-1; k >0; k--) {
    35. System.out.print(" ");
    36. }
    37. //输出“*”
    38. System.out.println("*");
    39. }
    40. //下半截图形:外层循环控制行数
    41. for (int i = 1; i <= 7; i++) {
    42. //输出每一行前面的空格“ ”
    43. for (int j = i; j >0; j--) {
    44. System.out.print(" ");
    45. }
    46. //输出“*”
    47. System.out.print("*");
    48. //输出空格“ ”
    49. for (int k = 15-2*i; k >0; k--) {
    50. System.out.print(" ");
    51. }
    52. //输出“*”
    53. System.out.println("*");
    54. }
    55. System.out.println(" *");
    56. }
    1. /*
    2. * 练习14:使用Java实现输出如下图形。
    3. */
    4. public static void main(String[] args) {
    5. /*
    6. * ***************
    7. * ******* *******
    8. * ****** ******
    9. * ***** *****
    10. * **** ****
    11. * *** ***
    12. * ** **
    13. * * *
    14. */
    15. //外层循环控制行数
    16. System.out.println("***************");
    17. for (int i = 1; i <= 7; i++) {
    18. //输出每一行前面的“*”
    19. for (int j = 8-i; j >0; j--) {
    20. System.out.print("*");
    21. }
    22. //输出每一行的空格“ ”
    23. for (int k = 2*i-1; k >0; k--) {
    24. System.out.print(" ");
    25. }
    26. //输出每一行后面的“*”
    27. for (int m = 8-i; m >0;m--) {
    28. System.out.print("*");
    29. }
    30. //换行
    31. System.out.println();
    32. }
    33. }

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

    1. /*
    2. * 练习15:实现双色球的彩票功能。规则:从33个红球中随机选择不重复的6个数,从16个篮球中随机选择1个组成一注彩票。可以选择买多注。
    3. */
    4. public static void main(String[] args) {
    5. // 输出篮球
    6. int blueBall = (int) (Math.random() * 16 + 1);
    7. // 输出红球
    8. int redBall1 = (int) (Math.random() * 33 + 1);
    9. int redBall2 = 0;
    10. int redBall3 = 0;
    11. int redBall4 = 0;
    12. int redBall5 = 0;
    13. int redBall6 = 0;
    14. while (true) {
    15. int redBall = (int) (Math.random() * 33) + 1;
    16. if (redBall6 != 0) {// redBall6不等于0说明redBall6已经获得值了
    17. break;// redBall6获得值了就退出循环
    18. }
    19. if (redBall != redBall1 && redBall2 == 0) {
    20. redBall2 = redBall;
    21. } else if (redBall != redBall1 && redBall != redBall2 && redBall3 == 0) {
    22. redBall3 = redBall;
    23. } else if (redBall != redBall1 && redBall != redBall2 && redBall != redBall3 && redBall4 == 0) {
    24. redBall4 = redBall;
    25. } else if (redBall != redBall1 && redBall != redBall2 && redBall != redBall3 && redBall != redBall4
    26. && redBall5 == 0) {
    27. redBall5 = redBall;
    28. } else if (redBall != redBall1 && redBall != redBall2 && redBall != redBall3 && redBall != redBall4
    29. && redBall != redBall5 && redBall6 == 0) {
    30. redBall6 = redBall;
    31. }
    32. }
    33. System.out.println(redBall1 + " " + redBall2 + " " + redBall3 + " " + redBall4 + " " + redBall5 + " " + redBall6
    34. + "---" + blueBall);
    35. }

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

     

    1. /*
    2. * 练习16:输出1-100之间的不能被5整除的数,每5个一行。
    3. */
    4. public static void main(String[] args) {
    5. int count = 0;
    6. for (int i = 1; i <= 100; i++) {
    7. if (i % 5 != 0) {
    8. System.out.print(i + " ");
    9. count++;
    10. if (count % 5 == 0) {
    11. System.out.println();
    12. }
    13. }
    14. }
    15. }

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

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

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

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

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

    1. /*
    2. * 练习19:随机产生一个字母,如果是大写字母则输出“yes”,否则输出“no”
    3. * a-z:97~122
    4. * A~Z:65~90
    5. */
    6. public static void main(String[] args) {
    7. int num = (int) (Math.random() * 58 + 65);
    8. if (num >= 65 && num <= 90) {
    9. System.out.println("Yes");
    10. System.out.println((char) num);
    11. } else {
    12. System.out.println("no");
    13. System.out.println(num);
    14. System.out.println((char) num);
    15. }
    16. }

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

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

  • 相关阅读:
    详解Avast Driver Updater:电脑驱动更新工具的利器还是多余的软件?
    Java集合知识点
    电脑复制和粘贴的时候会出现Hello!
    新零售复购分析,简单 3 步抓住回头客
    JavaFX笔记
    Java计算机网络篇-HTTP
    SQL Server 2008 geometry 数据类型
    基于 ACK Fluid 的混合云优化数据访问(一):场景与架构
    JSP声明:变量、方法和类的声明
    excel计算时间差
  • 原文地址:https://blog.csdn.net/qq_51810428/article/details/126374108