实例 61

题目

计算 m ~ n(m < n) 之间所有整数的和。

分析

遍历 m ~ m 之间的所有整数,然后将他们进行叠加即可。

实现

  1. import java.util.Scanner;
  2. /**
  3. * Created with IntelliJ IDEA.
  4. *
  5. * @author : zhangliang
  6. * @version : 1.0
  7. * @project : Java 编程实例
  8. * @package : PACKAGE_NAME
  9. * @className : Example61
  10. * @createTime : 2021/9/15 16:17
  11. * @email : 747731461@qq.com
  12. * @公众号 : 村雨遥
  13. * @website : https://cunyu1943.github.io
  14. * @description :
  15. */
  16. public class Example61 {
  17. public static void main(String[] args) {
  18. Scanner scanner = new Scanner(System.in);
  19. System.out.println("输入 m");
  20. int m = scanner.nextInt();
  21. System.out.println("输入 n");
  22. int n = scanner.nextInt();
  23. int sum = 0;
  24. for (int i = m; i <= n; i++) {
  25. sum += i;
  26. }
  27. System.out.println("sum = " + sum);
  28. }
  29. }

结果

那些年,我们一起做过的 Java 课后练习题(61 - 65) - 图1

实例 62

题目

对随机生成的 10 个数进行首尾元素交换,然后升序排序后输出,最后在降序排序后输出。

分析

生成随机数,主要用到 Random 类,而无论是首尾元素交换、升序排序还是降序排序,Java 中都有对应封装好的方法,我们主需要调用即可。

实现

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Random;
  4. /**
  5. * Created with IntelliJ IDEA.
  6. *
  7. * @author : zhangliang
  8. * @version : 1.0
  9. * @project : Java 编程实例
  10. * @package : PACKAGE_NAME
  11. * @className : Example62
  12. * @createTime : 2021/9/28 15:08
  13. * @email : 747731461@qq.com
  14. * @公众号 : 村雨遥
  15. * @website : https://cunyu1943.github.io
  16. * @description :
  17. */
  18. public class Example62 {
  19. public static void main(String[] args) {
  20. Random random = new Random();
  21. ArrayList<Integer> integers = new ArrayList<>();
  22. for (int i = 0; i < 10; i++) {
  23. integers.add(random.nextInt());
  24. }
  25. System.out.println("生成的随机数组:" + integers);
  26. Collections.swap(integers, 0, 9);
  27. System.out.println("交换首尾元素后的数组" + integers);
  28. Collections.sort(integers);
  29. System.out.println("升序排列后的数组:" + integers);
  30. Collections.reverse(integers);
  31. System.out.println("降序排列后的数组:" + integers);
  32. }
  33. }

结果

那些年,我们一起做过的 Java 课后练习题(61 - 65) - 图2

实例 63

题目

随机产生三个随机数 a,b,c,然后输出其最大值和最小值。

分析

同样考察随机数的生成,然后对数组进行升序排序,排序后数组的第一个元素即为最小元素,最大元素即为最后一个元素。

实现

  1. import java.util.Arrays;
  2. import java.util.Random;
  3. /**
  4. * Created with IntelliJ IDEA.
  5. *
  6. * @author : zhangliang
  7. * @version : 1.0
  8. * @project : Java 编程实例
  9. * @package : PACKAGE_NAME
  10. * @className : Example63
  11. * @createTime : 2021/9/28 15:25
  12. * @email : 747731461@qq.com
  13. * @公众号 : 村雨遥
  14. * @website : https://cunyu1943.github.io
  15. * @description :
  16. */
  17. public class Example63 {
  18. public static void main(String[] args) {
  19. int[] arr = new int[3];
  20. Random random = new Random();
  21. for (int i = 0; i < arr.length; i++) {
  22. arr[i] = random.nextInt();
  23. }
  24. System.out.println("生成的随机数组:" + Arrays.toString(arr));
  25. Arrays.sort(arr);
  26. System.out.println("最大的元素:" + arr[2]);
  27. System.out.println("最小的元素:" + arr[0]);
  28. }
  29. }

结果

那些年,我们一起做过的 Java 课后练习题(61 - 65) - 图3

实例 64

题目

输入一个百分制分数,然后输出该成绩所属等级:

  • 0 ~ 59:fail;
  • 60 ~ 79:pass;
  • 80 ~ 89:good;
  • 90 ~ 100:excellent.

分析

主要还是一个条件判断,这里使用 switch 进行判断即可。

实现

  1. import java.util.Scanner;
  2. /**
  3. * Created with IntelliJ IDEA.
  4. *
  5. * @author : zhangliang
  6. * @version : 1.0
  7. * @project : Java 编程实例
  8. * @package : PACKAGE_NAME
  9. * @className : Example64
  10. * @createTime : 2021/9/28 15:39
  11. * @email : 747731461@qq.com
  12. * @公众号 : 村雨遥
  13. * @website : https://cunyu1943.github.io
  14. * @description :
  15. */
  16. public class Example64 {
  17. public static void main(String[] args) {
  18. Scanner scanner = new Scanner(System.in);
  19. System.out.println("请输入分数");
  20. int score = scanner.nextInt();
  21. System.out.println("输入的分数是:" + score);
  22. switch (score / 10) {
  23. case 0:
  24. System.out.println("fail");
  25. break;
  26. case 1:
  27. System.out.println("fail");
  28. break;
  29. case 2:
  30. System.out.println("fail");
  31. break;
  32. case 3:
  33. System.out.println("fail");
  34. break;
  35. case 4:
  36. System.out.println("fail");
  37. break;
  38. case 5:
  39. System.out.println("fail");
  40. break;
  41. case 6:
  42. System.out.println("pass");
  43. break;
  44. case 7:
  45. System.out.println("pass");
  46. break;
  47. case 8:
  48. System.out.println("good");
  49. break;
  50. case 9:
  51. System.out.println("excellent");
  52. break;
  53. case 10:
  54. System.out.println("excellent");
  55. break;
  56. default:
  57. break;
  58. }
  59. }
  60. }

结果

那些年,我们一起做过的 Java 课后练习题(61 - 65) - 图4

实例 65

题目

输出绝对值不大于 100 的随机整数,若生成的值为 50,那么就退出。

分析

主要利用 while 循环直到生成的数是 50 时终止程序,而生成 100 内的随机整数只需要指定随机生成函数的范围即可。

实现

  1. import java.util.Random;
  2. /**
  3. * Created with IntelliJ IDEA.
  4. *
  5. * @author : zhangliang
  6. * @version : 1.0
  7. * @project : Java 编程实例
  8. * @package : PACKAGE_NAME
  9. * @className : Example65
  10. * @createTime : 2021/9/28 15:33
  11. * @email : 747731461@qq.com
  12. * @公众号 : 村雨遥
  13. * @website : https://cunyu1943.github.io
  14. * @description :
  15. */
  16. public class Example65 {
  17. public static void main(String[] args) {
  18. int num = 0;
  19. Random random = new Random();
  20. do {
  21. num = random.nextInt(100);
  22. System.out.println("生成的随机数:" + num);
  23. } while (num != 50);
  24. }
  25. }

结果

那些年,我们一起做过的 Java 课后练习题(61 - 65) - 图5