• 习题:循环结构(一)


    目录

    01:求10以内的偶数的和。

    02:求100以内的所有素数

    (素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)

    03:随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。

    04:写一个方法,此方法实现输出100-999之间的水仙花数。

    05:输出小写的a-z以及大写的在Z—A

    06:求出1-3+5-7+9-…..101的和

    07:求出1-1/2+1/3-1/4…..1/100的和

    08:输出20-80之间能被3整除的整数,每5个一行

    09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

    10:定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。


     

    01:求10以内的偶数的和。

    1. /*
    2. * 练习01:求10以内的偶数的和。
    3. */
    4. public static void main(String[] args) {
    5. int sum = 0;
    6. int num = 0;
    7. while (num <= 10) {
    8. if (num % 2 == 0) {
    9. sum += num;
    10. }
    11. num++;
    12. }
    13. System.out.println("10以内偶数之和:" + sum);
    14. }

    02:求100以内的所有素数

    (素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)

    1. /*
    2. * 练习02:求100以内的所有素数 (素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)
    3. *
    4. */
    5. public static void main(String[] args) {
    6. int i, j;
    7. for (i = 2; i <= 100; i++) {
    8. for (j = 2; j < i; j++) {
    9. if (i % j == 0)
    10. break;
    11. }
    12. if (j >= i) {// 也可以写成j==i
    13. System.out.print(i + " ");
    14. }
    15. }
    16. }

    03:随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。

    1. /*
    2. * 练习03:随机产生一个1-100之间的整数,看能几次猜中。要求:猜的次数不能超过7次,每次猜完之后都要提示“大了”或者“小了”。
    3. */
    4. public static void main(String[] args) {
    5. // 创建键盘录入对象
    6. Scanner sc = new Scanner(System.in);
    7. // 随机产生一个1-100之间的整数
    8. int num = (int) (Math.random() * 100 + 1);
    9. System.out.println(num);
    10. // 设置猜测的次数
    11. int count = 1;
    12. while (count <= 7) {
    13. System.out.println("请输入你猜测的数字:");
    14. int guess = sc.nextInt();
    15. if (guess > num) {
    16. System.out.println("大了");
    17. count++;
    18. } else if (guess < num) {
    19. System.out.println("小了");
    20. count++;
    21. } else {
    22. System.out.println("猜对了");
    23. break;
    24. }
    25. }
    26. if (count > 7) {
    27. System.out.println("只能猜测7次,机会用完了");
    28. } else {
    29. System.out.println("猜了" + count + "次");
    30. }
    31. sc.close();
    32. }

    04:写一个方法,此方法实现输出100-999之间的水仙花数

    1. /*
    2. * 练习04:写一个程序,此程序实现输出100-999之间的水仙花数。
    3. */
    4. public static void main(String[] args) {
    5. int num = 100;
    6. while (num <= 999) {
    7. int geWei = num % 10;
    8. int shiWei = num / 10 % 10;
    9. int baiWei = num / 100;
    10. if (geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei == num) {
    11. System.out.println(num);
    12. }
    13. num++;
    14. }
    15. }

    05:输出小写的a-z以及大写的在Z—A

    1. /*
    2. * 练习05:输出小写的a-z以及大写的Z—A
    3. * ASCII码:
    4. * A~Z:
    5. * a-z:
    6. */
    7. public static void main(String[] args) {
    8. for (int i = 97; i <= 122; i++) {
    9. char ch = (char) i;
    10. System.out.print(ch + " ");
    11. }
    12. System.out.println();
    13. for (int i = 65; i <= 90; i++) {
    14. char ch = (char) i;
    15. System.out.print(ch + " ");
    16. }
    17. }

    06:求出1-3+5-7+9-…..101的和

    1. /*
    2. * 练习06:求出1-3+5-7+9-…..101的和
    3. */
    4. public static void main(String[] args) {
    5. // 定义一个变量接收相加的和
    6. int sum = 0;
    7. int count = 1;
    8. for (int i = 1; i <= 101; i += 2) {
    9. //偶位数做减法,奇位数做加法
    10. if (count % 2 != 0) {
    11. sum = sum + i;
    12. } else {
    13. sum = sum - i;
    14. }
    15. count++;
    16. }
    17. System.out.println("1-3+5-7+9-…..101=" + sum);
    18. }

    07:求出1-1/2+1/3-1/4…..1/100的和

    1. /*
    2. * 练习07:求出1-1/2+1/3-1/4…..1/100的和
    3. */
    4. public static void main(String[] args) {
    5. double num = 1; // 分子始终为1,设i为分母
    6. double sum = 0;
    7. for (int i = 1; i <= 100; i++) {
    8. if (i % 2 == 0) {
    9. sum -= num / i;
    10. } else {
    11. sum += num / i;
    12. }
    13. }
    14. System.out.println("1-1/2+1/3-1/4…..1/100的和是:" + sum);
    15. }

    08:输出20-80之间能被3整除的整数,每5个一行

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

    09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

    1. /*
    2. * 练习09:打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
    3. */
    4. public static void main(String[] args) {
    5. int year = 1000;
    6. int count = 0;
    7. while (year <= 2000) {
    8. if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    9. System.out.print(year + " ");
    10. count++;
    11. if (count % 4 == 0) {
    12. System.out.println();
    13. }
    14. }
    15. year++;
    16. }
    17. }

    10:定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。

    1. /*
    2. * 练习10:定义两个整数a、b,a、b的取值范围在0-9之间,给出所有符合a+b=12的组合。
    3. */
    4. public static void main(String[] args) {
    5. for (int a = 0; a <= 9; a++) {
    6. for (int b = 0; b <= 9; b++) {
    7. if (a + b == 12) {
    8. System.out.println(a + "+" + b + "=" + (a + b));
    9. }
    10. }
    11. }
    12. }

  • 相关阅读:
    Mysql 视图
    02 统计基本概念
    震动检测模块使用介绍
    Linux笔记
    mmap函数详解(what?why?how?)
    Haproxy 服务
    nVisual部署之nginx配置说明
    14:00面试,14:05就出来了,问的问题有点变态。。。
    HTTP协议详解
    Django--19开发用例系列功能
  • 原文地址:https://blog.csdn.net/qq_51810428/article/details/126196752