当前位置:   article > 正文

48天笔试训练错题——day10

48天笔试训练错题——day10

目录

选择题

1.

2.

3.

4.

5.

6.

编程题

1. 密码强度等级


选择题

1.

finally 语句块一定会被执行,且在 catch 语句块返回前被执行。

先执行 test.add,finally 一定会被执行到,所以打印 finally,再返回43,最后打印和是43

2.

a 是成员变量,存在堆区, b 和 c 都是局部变量,存在栈上

3.

abstract 和 final 不能同时出现。因为 final 表示不可变,而被 abstract 修饰的方法则需要被重写、实现。 

abstract 一般修饰类和方法,不能修饰变量。

4.

当代码执行到 100/0,就会抛算术异常,就会去执行被捕捉到的 catch 块,打印 1,抛异常,然后再去执行 finally。

5.

计算时,如果不初始化并赋值变量,后面再用时就会进行整型提升,因为 b4 被 final 修饰所以不会进行整型提升,而 b1 和 b2 进行整型提升,但是 b3 却还是 byte,所以类型不匹配(大转小)。

6.

数组越界了,最大下标等于数组元素个数 - 1。

编程题

1. 密码强度等级

这个很简单,直接根据题目说的写,将 大写字母,小写字母,数字,符号各定义一个计数器,然后遍历字符串,遇到对应的就计数器++,然后根据规则判断即可。

代码实现:

  1. import java.util.*;
  2. // 注意类名必须为 Main, 不要有任何 package xxx 信息
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner in = new Scanner(System.in);
  6. // 注意 hasNext 和 hasNextLine 的区别
  7. while (in.hasNextLine()) { // 注意 while 处理多个 case
  8. String str = in.nextLine();
  9. printScore(str);
  10. }
  11. }
  12. public static void printScore(String str) {
  13. int score = 0;
  14. // 密码长度:
  15. if (str.length() <= 4) {
  16. score += 5;
  17. } else if (str.length() >= 8) {
  18. score += 25;
  19. } else {
  20. score += 10;
  21. }
  22. // 大写字母计数器
  23. int A = 0;
  24. // 小写字母计数器
  25. int a = 0;
  26. // 数字计数器
  27. int n = 0;
  28. // 符号计数器
  29. int $ = 0;
  30. for (char x : str.toCharArray()) {
  31. if (x >= '0' && x <= '9') {
  32. n++;
  33. } else if (x >= 'a' && x <= 'z') {
  34. a++;
  35. } else if (x >= 'A' && x <= 'Z') {
  36. A++;
  37. } else {
  38. $++;
  39. }
  40. }
  41. // 字母:
  42. if (A > 0 && a > 0) {
  43. score += 20;
  44. } else if (A > 0) {
  45. score += 10;
  46. } else if (a > 0) {
  47. score += 10;
  48. }
  49. // 数字:
  50. if (n > 1) {
  51. score += 20;
  52. } else if (n == 1) {
  53. score += 10;
  54. }
  55. // 符号:
  56. if ($ > 1) {
  57. score += 25;
  58. } else if ($ == 1) {
  59. score += 10;
  60. }
  61. // 奖励:
  62. if (A > 0 && a > 0 && n > 0 && $ > 0) {
  63. score += 5;
  64. } else if (A > 0 && n > 0 && $ > 0) {
  65. score += 3;
  66. } else if ( a > 0 && n > 0 && $ > 0) {
  67. score += 3;
  68. } else if (a > 0 && n > 0) {
  69. score += 2;
  70. } else if (A > 0 && n > 0) {
  71. score += 2;
  72. }
  73. // 最后的评分标准:
  74. if (score >= 90) {
  75. System.out.println("VERY_SECURE");
  76. } else if (score >= 80) {
  77. System.out.println("SECURE");
  78. } else if (score >= 70) {
  79. System.out.println("VERY_STRONG");
  80. } else if (score >= 60) {
  81. System.out.println("STRONG");
  82. } else if (score >= 50) {
  83. System.out.println("AVERAGE");
  84. } else if (score >= 25) {
  85. System.out.println("WEAK");
  86. } else if (score >= 0) {
  87. System.out.println("VERY_WEAK");
  88. }
  89. }
  90. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/864375
推荐阅读
相关标签
  

闽ICP备14008679号