又到校园招聘的时候了,前几天听同学说华为校招还要考上机,然后就在网上找往年的机试题,找到之后就开始战斗了。。下面的题目都是在网上找的,然后代码是自己一个一个写的。。。
1.程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。
程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。

[java] view plaincopy
  1. import java.util.Scanner;
  2. public class Test {
  3. public static void main(String[] args) {
  4. System.out.println(StringASCII("abcd"));
  5. Scanner in = new Scanner(System.in);
  6. System.out.println("请输入一串小写字母:");
  7. String str = in.next();
  8. System.out.println(StringASCII(str));
  9. in.close();
  10. }
  11. public static String StringASCII(String str) {
  12. StringBuffer reslut = new StringBuffer();
  13. // 将字符串转换成数组
  14. char[] array = str.toCharArray();
  15. for (int i = 0; i < array.length; i++) {
  16. char arr= (char) (array[i] + 5);
  17. if (arr >'z') {
  18. arr = 'a';
  19. }
  20. reslut.append(arr);
  21. }
  22. return reslut.toString();
  23. }

2.程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
  程序要求:输入:整型数组中的元素个数及各个元素。

输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数

[java] view plaincopy
  1. import java.util.Scanner;
  2. public class CountAvg {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. //      int arr[] = { 1, 2, 4, 23, 8, 11, 22, 31 };
  8. int[] arr = inputArr();
  9. int[] count = count(arr);
  10. System.out.println("数组的平均值:" + count[2] + ",小于平均值的个数:" + count[1]
  11. + ",大于平均值的个数:" + count[0]);
  12. }
  13. // 输入整形数组
  14. private static int[] inputArr() {
  15. Scanner scanner = new Scanner(System.in);
  16. System.out.println("请输入整形数组的长度:");
  17. int i = scanner.nextInt();
  18. int arr[] = new int[i];
  19. System.out.println("请输入整形数组的元素:");
  20. for (int j = 0; j < arr.length; j++) {
  21. int str = scanner.nextInt();
  22. // System.out.println(arr[j]+"----"+str);
  23. arr[j] = str;
  24. }
  25. scanner.close();
  26. return arr;
  27. }
  28. /**
  29. * 求出整形数组的平均值,大于和小于平均值的个数
  30. *
  31. * @param arr
  32. * @return
  33. */
  34. private static int[] count(int[] arr) {
  35. int m = 0, n = 0, avg, total = 0;
  36. for (int i = 0; i < arr.length; i++) {
  37. total += arr[i];
  38. }
  39. avg = total / arr.length;
  40. for (int i = 0; i < arr.length; i++) {
  41. if (avg < arr[i]) {
  42. m++;
  43. } else {
  44. n++;
  45. }
  46. }
  47. int result[] = new int[3];
  48. result[0] = m;
  49. result[1] = n;
  50. result[2] = avg;
  51. return result;
  52. }
  53. }

3、手动输入一个存储整数的数组,要求输出数组里面的2个最大值。
   实例: 
             输入:1,2,5,9,84,3,2
             输出:84,9

[java] view plaincopy
  1. import java.util.Scanner;
  2. public class CountMax {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. int[] arr = inputArr();
  8. countMax(arr);
  9. System.out.println("最大值:" + arr[0] + ",第二大的值" + arr[1]);
  10. }
  11. /**
  12. * 计算出两个最大值
  13. *
  14. * @param arr
  15. * @return
  16. */
  17. private static void countMax(int[] a) {
  18. // 冒泡排序
  19. int temp = 0;
  20. for (int i = 0; i < a.length; i++) {
  21. for (int j = 0; j < a.length - i - 1; j++) {
  22. if (a[j] < a[j + 1]) { // 把这里改成大于,就是升序了
  23. temp = a[j];
  24. a[j] = a[j + 1];
  25. a[j + 1] = temp;
  26. }
  27. }
  28. }
  29. }
  30. // 输入整形数组
  31. private static int[] inputArr() {
  32. Scanner scanner = new Scanner(System.in);
  33. System.out.println("请输入整形数组的长度:");
  34. int i = scanner.nextInt();
  35. int arr[] = new int[i];
  36. System.out.println("请输入整形数组的元素:");
  37. for (int j = 0; j < arr.length; j++) {
  38. int str = scanner.nextInt();
  39. // System.out.println(arr[j]+"----"+str);
  40. arr[j] = str;
  41. }
  42. scanner.close();
  43. return arr;
  44. }
  45. }
[java] view plaincopy
  1. </pre><span style="font-size:18px;">4、回文数字判断。题目描述:    有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字。编写一个函数,判断某数字是否是回文数字。    要求实现方法:public String isPalindrome(String strIn);【输入】strIn: 整数,以字符串表示;【返回】true: 是回文数字;              false: 不是回文数字;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出</span><pre name="code" class="java">import java.util.Scanner;
  2. public class Palindrome {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. Scanner in = new Scanner(System.in);
  8. System.out.println("请输入一个整形数字:");
  9. String str = in.next();
  10. if (isPalindrome(str)) {
  11. System.out.println(str + "--是回文数字");
  12. } else {
  13. System.out.println(str + "--不是回文数字");
  14. }
  15. in.close();
  16. }
  17. /**
  18. * 判断是否为回文数字
  19. *
  20. * @param str
  21. * @return
  22. */
  23. private static boolean isPalindrome(String str) {
  24. boolean result = false;
  25. System.out.println("str长度---" + str.length());
  26. for (int i = 0; i <= str.length() / 2 - 1; i++) {
  27. if (str.charAt(i) == str.charAt(str.length() - i - 1)) {
  28. result = true;
  29. }else {
  30. result = false;
  31. }
  32. }
  33. return result;
  34. }
  35. }

5、要求:随机打印50个随机(4-10长度)的字符串,要求字符串包含的范围是所有的英文字母包含大小写和数字,按照编码顺序排序,每行打印4个,要求首字符对齐.

[java] view plaincopy
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Random;
  4. public class RandomStr {
  5. /**
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. List<String> arrayStr = new ArrayList<String>();
  10. for (int i = 0; i < 50; i++) {
  11. Random random = new Random();
  12. // 0-6
  13. int nextInt = random.nextInt(7);
  14. int strlen = nextInt + 4;
  15. // 打印出随机数
  16. String randomStr = randomStr(strlen);
  17. // System.out.println("打印出来的字符串:" + randomStr);
  18. arrayStr.add(randomStr);
  19. }
  20. int count = 0;
  21. for (String str : arrayStr) {
  22. System.out.print(str + " ");
  23. if (count % 4 == 0) {
  24. // 换行
  25. System.out.println();
  26. }
  27. count++;
  28. }
  29. }
  30. /**
  31. * 打印出随机的字符串
  32. *
  33. * @param strlen
  34. * @return
  35. */
  36. private static String randomStr(int strlen) {
  37. char[] str = new char[strlen];
  38. int i = 0;
  39. while (i < strlen) {
  40. // 生成0-3的随机数
  41. int f = new Random().nextInt(4);
  42. if (f == 0) {
  43. str[i] = (char) ('a' + Math.random() * 26);
  44. } else if (f == 1) {
  45. str[i] = (char) ('A' + Math.random() * 26);
  46. } else {
  47. str[i] = (char) ('0' + Math.random() * 10);
  48. }
  49. i++;
  50. }
  51. return new String(str);
  52. }
  53. }

6.手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示(可以用Map)
实例:
输入:aaabbbccc
输出:a 3
      b 3
      c 3

[java] view plaincopy
  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4. public class NumberOfElement {
  5. /**
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. Scanner in = new Scanner(System.in);
  10. System.out.println("请输入的一组小写字符串:");
  11. String str = in.next();
  12. in.close();
  13. // 正则运算
  14. String reg = "^[a-z]*$";
  15. if (str.matches(reg)) {
  16. Map<Character, Integer> charCount = getCharCount(str);
  17. // 遍历map
  18. for (Map.Entry<Character, Integer> e : charCount.entrySet()) {
  19. System.out.println(e.getKey() + " " + e.getValue());
  20. }
  21. }else {
  22. System.out.println("您输入的字符串不符合要求");
  23. }
  24. }
  25. private static Map<Character, Integer> getCharCount(String str) {
  26. Map<Character, Integer> map = new HashMap<Character, Integer>();
  27. char[] array = str.toCharArray();
  28. for (int i = 0; i < array.length; i++) {
  29. if (!map.containsKey(array[i])) {
  30. map.put(array[i], 1);
  31. } else {
  32. map.put(array[i], map.get(array[i]) + 1);
  33. }
  34. }
  35. return map;
  36. }
  37. }

7、要求实现方法public String addTwoBigNumber(String s1,string s2)
 大数相加,注意处理异常

[java] view plaincopy
  1. import java.math.BigInteger;
  2. import java.util.Scanner;
  3. public class BigNumAdd {
  4. /**
  5. * @param args
  6. */
  7. public static void main(String[] args) {
  8. Scanner in = new Scanner(System.in);
  9. System.out.println("请输入第一个大数:");
  10. String str1 = in.next();
  11. System.out.println("请输入第二个大数:");
  12. String str2 = in.next();
  13. in.close();
  14. if (isBigNumber(str1) &&isBigNumber(str2)) {
  15. String bigNumber = addTwoBigNumber(str1, str2);
  16. System.out.println("两个大数相加的结果为:" + bigNumber);
  17. }else {
  18. System.out.println("输入错误!");
  19. }
  20. }
  21. /**
  22. * 大数相加
  23. *
  24. * @param s1
  25. * @param s2
  26. * @return
  27. */
  28. public static String addTwoBigNumber(String s1, String s2) {
  29. BigInteger bt1 = new BigInteger(s1);
  30. BigInteger bt2 = new BigInteger(s2);
  31. return bt1.add(bt2).toString();
  32. }
  33. /**
  34. * 判断一个字符串是否为大数
  35. * @param str
  36. * @return
  37. */
  38. public static boolean isBigNumber(String str) {
  39. boolean result = false;
  40. String reg = "[0-9]*$";
  41. if (str.matches(reg)) {
  42. result = true;
  43. } else {
  44. result = false;
  45. }
  46. return result;
  47. }
  48. }

8、比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用IO)

输入:intArr = {{5,6,1,16},{7,3,9}}

输出:intArrs ={1,3}

[java] view plaincopy
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3. public class CountMin {
  4. /**
  5. * @param args
  6. */
  7. public static void main(String[] args) {
  8. int[][] arr = {{5,6,1,16},{7,3,9},{5,7,12}};
  9. int[] colmin = getColmin(arr);
  10. System.out.println(Arrays.toString(colmin));
  11. }
  12. private static int[] getColmin(int[][] arr) {
  13. int minArr[] = new int[arr.length];
  14. for (int i = 0; i < arr.length; i++) {
  15. int tmp[] = arr[i];
  16. // 数组的排序,从小到大
  17. Arrays.sort(tmp);
  18. minArr[i] = tmp[0];
  19. }
  20. return minArr;
  21. }
  22. }

9. 输入:a aa,cat tiger.123dd 
输出: tiger
功能描述:键盘输入一句话
输出一句话中最常的单词,如果最长的出现多次,返回第一个。这句话只包含数字字母和标点。

[java] view plaincopy
  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5. public class FindLongString {
  6. /**
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. //      String str = "a aa,cat tiger.123dd 12ssss,asxdrt saxfdt asdgde";
  11. Scanner in = new Scanner(System.in);
  12. System.out.println("请任意的输入一串字符串:");
  13. String str = in.nextLine();
  14. System.out.println("str---" + str);
  15. String reslut = getLongString(str);
  16. System.out.println("----" + reslut);
  17. in.close();
  18. }
  19. /**
  20. * 找出一串字符串中最长的字符
  21. * @param str
  22. * @return
  23. */
  24. private static String getLongString(String str) {
  25. String reg = "[ .,]";
  26. String[] arr = str.split(reg);
  27. ArrayList<String> result = new ArrayList<String>();
  28. int length = 0;
  29. for (int i = 0; i < arr.length; i++) {
  30. System.out.println(arr[i]);
  31. // 获得长度
  32. if (length<arr[i].length()) {
  33. length = arr[i].length();
  34. result.add(arr[i]);
  35. }
  36. }
  37. return result.get(result.size()-1);
  38. }
  39. }

10. 功能描述:将字符串中的字母全部替换成字母的下一个字母,
要是最后一位是z或Z则替换为a或A。
输入:aBxyZ
输出:bCyzA

[java] view plaincopy
  1. import java.util.Scanner;
  2. public class TransNext {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. Scanner in = new Scanner(System.in);
  8. System.out.println("请输入一串字符串(大小写字母):");
  9. String str = in.nextLine();
  10. String reg = "^[A-Za-z]+$";
  11. //      String reg2 = "^[A-Z]$";
  12. if (str.matches(reg)) {
  13. String result = transNext(str);
  14. System.out.println("转换后的字符串:" + result);
  15. }else {
  16. System.out.println("输入不符合要求!");
  17. }
  18. in.close();
  19. }
  20. /**
  21. * 将字符串中的字母全部替换成字母的下一个字母
  22. * @param str 目标字符串
  23. * @return
  24. */
  25. private static String transNext(String str) {
  26. char[] charArray = str.toCharArray();
  27. char[] newArray = new char[charArray.length];
  28. for (int i = 0; i < charArray.length; i++) {
  29. newArray[i] = (char) (charArray[i]+ 1);
  30. if (charArray[i] =='Z') {
  31. newArray[i] = 'A';
  32. }
  33. if (charArray[i] =='z') {
  34. newArray[i] = 'a';
  35. }
  36. }
  37. return String.valueOf(newArray);
  38. }
  39. }

11. 功能描述:判断一个字符串中是否只含有相同的子字符串(子串长度>=2)
输入:abab 
返回:true
输入:abcd
返回:false

[java] view plaincopy
  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4. public class CheckStr {
  5. /**
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. Scanner in = new Scanner(System.in);
  10. System.out.println("请输入一串字符:");
  11. String str = in.nextLine();
  12. in.close();
  13. boolean result = checkString(str);
  14. System.out.println("结果--" + result);
  15. }
  16. public static boolean checkString(String data) {
  17. boolean result = false;
  18. Map<Character, Integer> map = new HashMap<Character, Integer>();
  19. char[] array = data.toCharArray();
  20. for (int i = 0; i < array.length; i++) {
  21. if (!map.containsKey(array[i])) {
  22. result = false;
  23. map.put(array[i], 1);
  24. }else {
  25. result = true;
  26. }
  27. }
  28. return result;
  29. }
  30. }

12. 功能描述:已知:yi er san si wu liu qi ba jiu 分别对应123456789,
对一段只含有这几种字符串的字符串进行转换,如:
输入:yiersansan
输出:1233

[java] view plaincopy
  1. public class Tran2Num {
  2. /**
  3. * 功能描述:已知:yi er san si wu liu qi ba jiu 分别对应123456789,
  4. * 对一段只含有这几种字符串的字符串进行转换,如: 输入:yiersansan 输出:1233
  5. *
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. String str = "yiersansansisiwuwu";
  10. String number = trunNumber(str);
  11. System.out.println("转换输出的结果--" + number);
  12. }
  13. public static String trunNumber(String data) {
  14. String result = "";
  15. String str[] = {"yi","er","san","si","wu","liu","qi"," ba","jiu"};
  16. for (int i = 0; i < 9; i++) {
  17. if (data.contains(str[i])) {
  18. result = data.replace(str[i], String.valueOf(i+1));
  19. data = result;
  20. }
  21. }
  22. return result;
  23. }

13. 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除
               然后返回该子字符串。
输入:asdasdas
输出:asasas

[java] view plaincopy
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.Scanner;
  7. public class DeleteMin {
  8. /**
  9. * 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除 然后返回该子字符串。
  10. * 输入:asdasdas 输出:asasas
  11. *
  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. //String str = "asdasdas";
  16. Scanner in = new Scanner(System.in);
  17. System.out.println("请输入一串字符串:");
  18. String str = in.nextLine();
  19. in.close();
  20. List<Character> deleteChar = deleteLittle(str);
  21. for (Character character : deleteChar) {
  22. str = str.replace(character.toString(), "");
  23. //System.out.println("出现次数最少的字符---" + character.toString());
  24. }
  25. System.out.println("删除后的字符串---" + str);
  26. }
  27. private static List<Character> deleteLittle(String str) {
  28. // 统计那些字符串的个数最少
  29. Map<Character, Integer> map = new HashMap<Character, Integer>();
  30. char[] charArray = str.toCharArray();
  31. for (int i = 0; i < charArray.length; i++) {
  32. if (!map.containsKey(charArray[i])) {
  33. map.put(charArray[i], 1);
  34. } else {
  35. map.put(charArray[i], map.get(charArray[i]) + 1);
  36. }
  37. }
  38. // 删除map中值最小的字符串
  39. int[] values = new int[map.size()];
  40. int i = 0;
  41. for (Map.Entry<Character, Integer> e : map.entrySet()) {
  42. // 获得值的大小
  43. values[i++] = e.getValue();
  44. }
  45. // 排序
  46. Arrays.sort(values);
  47. // 得到最小值
  48. int j = values[0];
  49. List<Character> list = new ArrayList<Character>();
  50. for (Map.Entry<Character, Integer> e : map.entrySet()) {
  51. // 通过值获取键
  52. if (e.getValue() == j) {
  53. Character key = e.getKey();
  54. list.add(key);
  55. }
  56. }
  57. return list;
  58. }
  59. }

16. 功能描述:统计一个数字转为二进制后,0和1的个数,组成数组返回

输入:6

输出:{1,2}

[java] view plaincopy
  1. import java.util.Arrays;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5. public class Int2ASSII {
  6. /**
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. //      int i = 6;
  11. Scanner in = new Scanner(System.in);
  12. System.out.println("请输入一个数字:");
  13. int i = in.nextInt();
  14. in.close();
  15. //      String reg = "^[0-9]*$";
  16. //      if (!String.valueOf(i).matches(reg)) {
  17. //          System.out.println("请输入数字!");
  18. //      }
  19. int[] result = trans(i);
  20. System.out.println("输出---" + Arrays.toString(result));
  21. }
  22. /**
  23. * 将数字转换成ASII码
  24. *
  25. * @param i
  26. * @return 返回0和1的个数
  27. */
  28. private static int[] trans(int i) {
  29. // 将整形转换成二进制
  30. char[] charArray = Integer.toBinaryString(i).toCharArray();
  31. Map<Character, Integer> map = new HashMap<Character, Integer>();
  32. for (int j = 0; j < charArray.length; j++) {
  33. if (!map.containsKey(charArray[j])) {
  34. map.put(charArray[j], 1);
  35. } else {
  36. map.put(charArray[j], map.get(charArray[j]) + 1);
  37. }
  38. }
  39. //      int[] result = new int[2];
  40. Integer integer = map.get('0');
  41. Integer integer2 = map.get('1');
  42. int[] result = {integer,integer2};
  43. //      for (Map.Entry<Character, Integer> entry : map.entrySet()) {
  44. //          if (entry.getKey() == '0') {
  45. //              result[0] = entry.getValue();
  46. //          } else {
  47. //              result[1] = entry.getValue();
  48. //          }
  49. //      }
  50. return result;
  51. }
  52. }

17. 功能描述:对一个二进制数的每位进行0和1反转,求翻转后的二进制所对应的十进制

输入:1010

输出:5

[java] view plaincopy
  1. import java.util.Arrays;
  2. public class Binary2Int {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. String str = "1010";
  8. int result = binaryToInt(str);
  9. System.out.println("反转后的值:" + result);
  10. }
  11. /**
  12. * 对一个二进制数的每位进行0和1反转,求翻转后的二进制所对应的十进制
  13. * @param str
  14. * @return
  15. */
  16. private static int binaryToInt(String str) {
  17. char[] array = str.toCharArray();
  18. for (int i = 0; i < array.length; i++) {
  19. if (array[i]=='0') {
  20. array[i]='1';
  21. }else {
  22. array[i]='0';
  23. }
  24. }
  25. System.out.println(Arrays.toString(array));
  26. String result = "";
  27. for (int i = 0; i < array.length; i++) {
  28. result += array[i];
  29. }
  30. return Integer.parseInt(result, 2);
  31. }
  32. }

18. 功能描述:判断一个字符串中的"( )"是否配对

输入:if(a.equals(a))

输出:true

[java] view plaincopy
  1. public class IsMatch {
  2. /**
  3. * 判断一个字符串中的"( )"是否配对
  4. * 输入:if(a.equals(a)) 输出:true
  5. * @param args
  6. */
  7. public static void main(String[] args) {
  8. String str = "if(a.(equals(a)))";
  9. boolean result = isMatch(str);
  10. System.out.println("字符串中的()是否配对:" + result);
  11. }
  12. /**
  13. * 判断()内的字符是否匹配
  14. *
  15. * @param str
  16. * @return
  17. */
  18. private static boolean isMatch(String str) {
  19. boolean result = false;
  20. int count = 0;
  21. char[] array = str.toCharArray();
  22. for (int i = 0; i < array.length; i++) {
  23. if (array[i] == '(') {
  24. count++;
  25. } else if (array[i] == ')') {
  26. count--;
  27. }
  28. }
  29. if (count == 0) {
  30. result = true;
  31. }
  32. return result;
  33. }
  34. }

19. 功能描述:查找一个字符串的子字符串集

输入:abab

输出:a b ab ba aba bab

要求实现方法:

public List<String> getChildren(String data)

{

List<String> list = new ArrayList<String>();

//TODO

return list;

}

[java] view plaincopy
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. public class GetChildren {
  4. /**
  5. * 查找一个字符串的子字符串集 输入:abab 输出:a b ab ba aba bab
  6. *
  7. * @param args
  8. */
  9. public static void main(String[] args) {
  10. String str = "ababc";
  11. List<String> children = getChildren(str);
  12. //      System.out.println(children.toString());
  13. for (String string : children) {
  14. System.out.print(string+" ");
  15. }
  16. }
  17. public static List<String> getChildren(String data) {
  18. List<String> list = new ArrayList<String>();
  19. for (int i = 1; i < data.length(); i++) {
  20. for (int j = data.length() - i + 1; j > 0; j--) {
  21. String newStr = data.substring(data.length() - j - i + 1,
  22. data.length() - j + 1);
  23. //              System.out.println("----" + newStr);
  24. if (!list.contains(newStr)) {
  25. list.add(newStr);
  26. }
  27. }
  28. }
  29. return list;
  30. }
  31. }

21. 程序实现目标: 输入一个字符,将字符转换为小写,将其对应的ASCII值加5后,输出结果。

程序要求:若其值加5后的字符值大于'z',将其转换成从a开始的字符。

输入:‘A’

输出:‘f’

[java] view plaincopy
  1. public class Trans {
  2. public static void main(String[] args) {
  3. char input = 'X';
  4. char output = trans(input);
  5. System.out.println(output);
  6. }
  7. /**
  8. * 将大写字母转换成小写字母再加5
  9. * @param input
  10. * @return
  11. */
  12. private static char trans(char input) {
  13. // 将大写转为小写
  14. char result = (char) (Character.toLowerCase(input) + 5);
  15. if (result>'z') {
  16. result = (char) (result-26);
  17. }
  18. return result;
  19. }
  20. }

22. 要求:将一个二维数组进行逆序,逆序后所有的元素行列不定,进行随机排列

①先把数组每一行逆序

②再把逆序后每一行进行随机排列

如:{{4,3,32,5},{1,2,3,4},{9,6,5,4}};

⇒4 6 5 9 
 3 4 2 1 
 5 4 32 3

[java] view plaincopy
  1. import java.util.Arrays;
  2. import java.util.Random;
  3. public class ArraySort {
  4. /**
  5. * @param args
  6. */
  7. public static void main(String[] args) {
  8. int input[][] = { { 4, 3, 32, 5 }, { 1, 2, 3, 4 }, { 9, 6, 5, 4 } };
  9. int output[][] = arraySort(input);
  10. for (int i = 0; i < output.length; i++) {
  11. System.out.println(Arrays.toString(input[i]));
  12. }
  13. }
  14. /**
  15. * ①先把数组每一行逆序 ②再把逆序后每一行进行随机排列
  16. *
  17. * @param input
  18. * @return
  19. */
  20. private static int[][] arraySort(int[][] input) {
  21. int[] temp = null;
  22. for (int i = 0; i <= input.length / 2; i++) {
  23. // 先把数组每一行逆序
  24. temp = input[i];
  25. input[i] = input[input.length - 1 - i];
  26. input[input.length - 1 - i] = temp;
  27. }
  28. for (int i = 0; i < input.length; i++) {
  29. int tmp = 0;
  30. for (int j = 0; j < input[i].length; j++) {
  31. // 产生[0-len)的数
  32. int n = (int) (Math.random()*(input[i].length));
  33. int m = (int) (Math.random()*(input[i].length));
  34. // 随机交换数据
  35. tmp = input[i][m];
  36. input[i][m] = input[i][n];
  37. input[i][n] = tmp;
  38. }
  39. }
  40. return input;
  41. }
  42. }

24. 分解质因数

eg:输入 28

输出 2*2*7

[java] view plaincopy
  1. public class Test {
  2. /**
  3. *
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. int m = 28;
  8. String result = perenum(m);
  9. System.out.println("因数--" + result);
  10. }
  11. private static String perenum(int m) {
  12. StringBuffer sb = new StringBuffer();
  13. int tmp = m;
  14. int i = 0;
  15. while (true) {
  16. for (i = 2; i <= tmp; i++) {
  17. if (tmp % i == 0) {
  18. tmp = tmp / i;
  19. sb.append(i + "*");
  20. break;
  21. }
  22. }
  23. if (tmp == 1){
  24. break;
  25. }
  26. }
  27. // 删除最后一个字符
  28. String result = sb.toString().substring(0, sb.toString().length()-1);
  29. return result;
  30. }
  31. }

26. 二维数组转置

例:1 2 3

4 5 6

转置

1 4

2 5

3 6

[java] view plaincopy
  1. package com.zjp.huawei;
  2. import java.util.Arrays;
  3. /**
  4. * 二维数组倒置
  5. *  二维数组转置
  6. 例:1 2 3
  7. 4 5 6
  8. 转置
  9. 1 4
  10. 2 5
  11. 3 6
  12. * @author cqu_zhu
  13. *
  14. */
  15. public class TransArray {
  16. /**
  17. * @param args
  18. */
  19. public static void main(String[] args) {
  20. int [][] input = {{1,2,3},{4,5,6}};
  21. int [][] output = inversionArray(input);
  22. for (int i = 0; i < output.length; i++) {
  23. for (int j = 0; j < output[i].length; j++) {
  24. System.out.print(output[i][j]+" ");
  25. }
  26. System.out.println();
  27. }
  28. }
  29. private static int[][] inversionArray(int[][] input) {
  30. int result[][] = new int[input[0].length][input.length];
  31. for (int i = 0; i < input.length; i++) {
  32. for (int j = 0; j < input[i].length; j++) {
  33. result[j][i] = input[i][j];
  34. }
  35. }
  36. return result;
  37. }
  38. }

27. 功能描述:输入字符串,将该字符串中数字放到非数字的后面,并保持原有顺序不变。

例如:h3a2p0p1y----------happy3201

public String  childStr(String inputStr){

}

[java] view plaincopy
  1. package com.zjp.huawei;
  2. import java.util.Scanner;
  3. /**
  4. * 输入字符串,将该字符串中数字放到非数字的后面,并保持原有顺序不变。 例如:h3a2p0p1y----------happy3201
  5. *
  6. * @author cqu_zhu
  7. *
  8. */
  9. public class FindCharAndNum {
  10. /**
  11. * @param args
  12. */
  13. public static void main(String[] args) {
  14. //      String str = "h3a2p0p1y";
  15. Scanner in = new Scanner(System.in);
  16. System.out.println("请随机输入字母和字符串:");
  17. String str = in.nextLine();
  18. String reg = "^[0-9a-zA-Z]*$";
  19. in.close();
  20. if (!str.matches(reg)) {
  21. System.out.println("输入的字符串不符合要求");
  22. return;
  23. }
  24. String result = childStr(str);
  25. System.out.println(result);
  26. }
  27. public static String  childStr(String inputStr){
  28. StringBuffer charBuffer = new StringBuffer();
  29. StringBuffer numBuffer = new StringBuffer();
  30. char[] array = inputStr.toCharArray();
  31. // 字母的正则表达式
  32. String reg = "^[a-zA-Z]*$";
  33. String reg2 = "^[0-9]*$";
  34. for (int i = 0; i < array.length; i++) {
  35. // 如果是字母
  36. if (String.valueOf(array[i]).matches(reg)) {
  37. charBuffer.append(array[i]);
  38. }else if(String.valueOf(array[i]).matches(reg2)){
  39. numBuffer.append(array[i]);
  40. }
  41. }
  42. return charBuffer.toString()+numBuffer.toString();
  43. }
  44. }

28. 输入一个身份证号码(15位和18位)和一个年份,计算现在的年龄(忽略非法参数)

eg:610618199001020065  2011

输出:21

[java] view plaincopy
  1. package com.zjp.huawei;
  2. /**
  3. * 输入一个身份证号码(15位和18位)和一个年份,计算现在的年龄(忽略非法参数) eg:610618199001020065 2011 输出:21
  4. *
  5. * @author cqu_zhu
  6. *
  7. */
  8. public class Demo28 {
  9. /**
  10. * @param args
  11. */
  12. public static void main(String[] args) {
  13. //      String ID = "610618199001020065";
  14. String ID ="110105710923582";
  15. int year = 2015;
  16. int age = countAge(ID,year);
  17. System.out.println("年龄---" + age);
  18. }
  19. private static int countAge(String ID, int year) {
  20. String date = "";
  21. //7-12位出生年月日,比如670401代表1967年4月1日
  22. if (ID.length() == 15) {
  23. String d = ID.substring(6, 8);
  24. date = "19"+d;
  25. }else if(ID.length() ==18){
  26. date = ID.substring(6,10);
  27. }
  28. int age = year -Integer.parseInt(date);
  29. System.out.println(date);
  30. return age;
  31. }
  32. }

29.  输入一个字符串,如果是小写则转换成相应的大写字母的后五位,如果是 VWXYZ 则转换成 abcde, 其他的都不变,例如:“ aDsR154+-/. ”则应该输出为“ FDXR154+-/. ”

[java] view plaincopy
  1. package com.zjp.huawei;
  2. /**
  3. * 输入一个字符串,如果是小写则转换成相应的大写字母的后五位,如果是VWXYZ则转换成abcde,其他的都不变,例如:“aDsR154+-/.”则应该输出为“
  4. * FDXR154+-/.”
  5. *
  6. * @author cqu_zhu
  7. *
  8. */
  9. public class Demo29 {
  10. public static void main(String[] args) {
  11. String str = "aDsR154+-/.";
  12. String reslut = parseStr(str);
  13. System.out.println("转换后的字符串---" + reslut);
  14. }
  15. private static String parseStr(String str) {
  16. char[] array = str.toCharArray();
  17. String reg = "^[a-z]*$";
  18. for (int i = 0; i < array.length; i++) {
  19. if (String.valueOf(array[i]).matches(reg)) {
  20. // 把小写转换为大写,并后退5位
  21. array[i] = (char) (Character.toUpperCase(array[i]) + 5);
  22. if (array[i]>'Z') {
  23. array[i]= (char) (array[i]-26);
  24. }
  25. }
  26. }
  27. StringBuffer buffer = new StringBuffer();
  28. for (int i = 0; i < array.length; i++) {
  29. buffer.append(array[i]);
  30. }
  31. return buffer.toString();
  32. }
  33. }

31. 删除一个字符串里出现次数最多的子字符串

如果有多个出现次数相同的并且出现次数最多则将多个全部删除比如abbccd得到结果 ad

[java] view plaincopy
  1. package com.zjp.huawei;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. /**
  5. * 删除一个字符串里出现次数最多的子字符串
  6. 如果有多个出现次数相同的并且出现次数最多则将多个全部删除比如abbccd得到结果 ad
  7. * @author cqu_zhu
  8. *
  9. */
  10. public class Demo30 {
  11. /**
  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. String str = "abbccdeefff";
  16. String result = deleteMaxChar(str);
  17. System.out.println(result);
  18. }
  19. /**
  20. * 删除字符串字符出现次数最多的字符
  21. * @param str
  22. * @return
  23. */
  24. private static String deleteMaxChar(String str) {
  25. char[] array = str.toCharArray();
  26. Map<Character,Integer> map = new HashMap<Character,Integer>();
  27. for (int i = 0; i < array.length; i++) {
  28. if(!map.containsKey(array[i])){
  29. map.put(array[i], 1);
  30. }else {
  31. map.put(array[i], map.get(array[i])+1);
  32. }
  33. }
  34. int m =0;
  35. // 得出字符最大值
  36. for(Map.Entry<Character, Integer> entry :map.entrySet()){
  37. if (entry.getValue() > m) {
  38. m = entry.getValue();
  39. }
  40. }
  41. // 根据字符最大值得到相应的字符
  42. for(Map.Entry<Character, Integer> entry :map.entrySet()){
  43. if (entry.getValue() ==m) {
  44. String replace = str.replace(String.valueOf(entry.getKey()), "");
  45. str = replace;
  46. }
  47. }
  48. return str;
  49. }
  50. }

32. 判断字符串首字母就大写,非首字母小写

1、如输入 Good 返回 TRUE

2、过程中不需要输出任何IO流。

[java] view plaincopy
  1. package com.zjp.huawei;
  2. /**
  3. * 32. 判断字符串首字母就大写,非首字母小写 1、如输入 Good 返回 TRUE 2、过程中不需要输出任何IO流。
  4. *
  5. * @author cqu_zhu
  6. *
  7. */
  8. public class Demo32 {
  9. /**
  10. * @param args
  11. */
  12. public static void main(String[] args) {
  13. String str = "Good";
  14. String result = fristChar(str);
  15. System.out.println(result);
  16. }
  17. private static String fristChar(String str) {
  18. String result = "";
  19. String reg = "^[A-Z]*$";
  20. char[] array = str.toCharArray();
  21. if (String.valueOf(array[0]).matches(reg)) {
  22. result ="TRUE";
  23. }else {
  24. result ="FALSE";
  25. }
  26. return result;
  27. }
  28. }

33. 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”

所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

[java] view plaincopy
  1. package com.zjp.huawei;
  2. import java.util.Arrays;
  3. /**
  4. * 33. 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
  5. * 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
  6. *
  7. * @author cqu_zhu
  8. *
  9. */
  10. public class Demo33 {
  11. /**
  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. String str = "I am a boy";
  16. String result = inversionString(str);
  17. System.out.println(result);
  18. }
  19. private static String inversionString(String str) {
  20. String[] splitStr= str.split(" ");
  21. String[] newStr = new String[splitStr.length];
  22. for (int i = 0; i < splitStr.length; i++) {
  23. newStr[splitStr.length -i-1] = splitStr[i];
  24. }
  25. StringBuffer result = new StringBuffer();
  26. for (int i = 0; i < splitStr.length; i++) {
  27. result.append(newStr[i] + " ");
  28. }
  29. return result.toString();
  30. }
  31. }

34. 题目背景

写出一个程序,接受一个浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整

接口

int round(double d)

举例

-4.5 四舍五入的结果是-4

4.4 四舍五入的结果是4

[java] view plaincopy
  1. package com.zjp.huawei;
  2. import java.util.Arrays;
  3. /**
  4. * 33. 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
  5. * 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
  6. *
  7. * @author cqu_zhu
  8. *
  9. */
  10. public class Demo34 {
  11. /**
  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. double d = -3.65;
  16. int result = round(d);
  17. System.out.println("返回的结果--" + result);
  18. }
  19. private static int round(double d) {
  20. String str = String.valueOf(d);
  21. String subStr = str.substring(str.indexOf(".") + 1,
  22. str.indexOf(".") + 2);
  23. int i = Integer.parseInt(subStr);
  24. int reg = 0;
  25. if (i >= 5) {
  26. // 返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
  27. reg = (int) Math.ceil(d);
  28. } else {
  29. // 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
  30. reg = (int) Math.floor(d);
  31. }
  32. return reg;
  33. }
  34. }

35.数列求和

编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。

1+1/2!+ .... +1/n!

输出保留5位小数。

下面是一些合理的表达式的例子:

Input         5

Output      1.71667

[java] view plaincopy
  1. package com.zjp.huawei;
  2. /**
  3. * 编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。 1+1/2!+ ....
  4. * +1/n! 输出保留5位小数。 下面是一些合理的表达式的例子: Input 5 Output 1.71667
  5. *
  6. * @author cqu_zhu
  7. *
  8. */
  9. public class Demo35 {
  10. /**
  11. * @param args
  12. */
  13. public static void main(String[] args) {
  14. int k = 5;
  15. double result = result(k);
  16. if (result>1.5) {
  17. // 保留5位有效数字
  18. String str = String.valueOf(result);
  19. String reg = str.substring(str.indexOf(".")+6, str.indexOf(".")+7);
  20. String m = str.substring(str.indexOf(".")+1, str.indexOf(".")+6);
  21. String in = str.substring(str.indexOf(".")-1, str.indexOf(".")+1);
  22. int n = 0;
  23. if (Integer.parseInt(reg)>=5) {
  24. n = Integer.parseInt(m)+1;
  25. }else {
  26. n = Integer.parseInt(m);
  27. }
  28. System.out.println("---" + in + n);
  29. }else {
  30. System.out.println("---" + result);
  31. }
  32. }
  33. /**
  34. * 求阶乘的倒数
  35. * @param k
  36. * @return
  37. */
  38. private static double result(int k){
  39. double d = 0;
  40. for (int i = 1; i <= k; i++) {
  41. d +=(double)1/fact(i);
  42. }
  43. return d;
  44. }
  45. /**
  46. * 计算k的阶乘
  47. * @param i
  48. * @return
  49. */
  50. private static int fact(int k) {
  51. int i = 1;
  52. for (int j = 1; j <= k; j++) {
  53. i =j*i;
  54. }
  55. return i;
  56. }
  57. }

36. 计算整数各个数位之和

描述: 要求使用递归实现,计算整数各个数位之和。

举例: 123 --> 1+2+3 = 6

运行时间限制: 无限制

内存限制: 无限制

输入: 0xff ff ff ff以内的整数

输出: NA

样例输入: 123

样例输出: 6

[java] view plaincopy
  1. package com.zjp.huawei;
  2. /**
  3. * 计算整数各个数位之和 描述: 要求使用递归实现,计算整数各个数位之和。 举例: 123 --> 1+2+3 = 6 运行时间限制: 无限制 内存限制:
  4. * 无限制 输入: 0xff ff ff ff以内的整数 输出: NA 样例输入: 123 样例输出: 6
  5. *
  6. * @author cqu_zhu
  7. *
  8. */
  9. public class Demo36 {
  10. /**
  11. * @param args
  12. */
  13. public static void main(String[] args) {
  14. int num = 1234351363;
  15. int result = bitSum(num);
  16. System.out.println("各个位相加得到的和--" + result);
  17. }
  18. /**
  19. * 递归求各个各个数位之和
  20. *
  21. * @param k
  22. * @return
  23. */
  24. private static int bitSum(int num) {
  25. int tmp = 0;
  26. if (num > 10) {
  27. tmp += num % 10 + bitSum(num / 10);
  28. } else {
  29. tmp = num;
  30. }
  31. return tmp;
  32. }
  33. }

37.提取不重复的整数

描述: 输入一个int型32位整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

运行时间限制: 10 Sec

内存限制: 无限制

输入: 整数,如9876673

注意:

1、整数最后的0,请忽略,例如:输入1750,输出:571

2、负数,保留'-'在前面,例如:输入-175,输出:-571

输出: 整数,如37689

样例输入: 9876673

样例输出: 37689

[java] view plaincopy
  1. package com.zjp.huawei;
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. /**
  6. * 输入一个int型32位整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
  7. * @author cqu_zhu
  8. *
  9. */
  10. public class Demo37 {
  11. /**
  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. int num = -9876673;
  16. if (num <0) {
  17. int abs = Math.abs(num);
  18. int result = getConvertInt(abs);
  19. System.out.println("-" + result);
  20. }else {
  21. int result = getConvertInt(num);
  22. System.out.println(String.valueOf(result));
  23. }
  24. }
  25. private static int getConvertInt(int num) {
  26. String str = String.valueOf(num);
  27. char[] array = str.toCharArray();
  28. List<Character> list = new ArrayList<Character>();
  29. for (int i = 0; i < array.length; i++) {
  30. if (!list.contains(array[i])) {
  31. list.add(array[i]);
  32. }
  33. }
  34. List<Character> newList = new ArrayList<Character>();
  35. for (int i = 0; i <list.size(); i++) {
  36. newList.add(list.get(list.size()-1-i));
  37. }
  38. StringBuffer buffer = new StringBuffer();
  39. for (Character character : newList) {
  40. buffer.append(character);
  41. }
  42. return Integer.parseInt(buffer.toString());
  43. }
  44. }

华为校招JAVA机试题相关推荐

  1. 华为校招 java 面试题

    华为校招 java 面试题 第一部分:选择题(30分) QUESTION NO: 1 public class Test {public static void changeStr(String st ...

  2. 华为校招java笔试题库_华为校招Java笔试题库,看你会不会做

    1.在java中如果声明一个类为final,表示什么意思? 答:final是最终的意思,final可用于定义变量.方法和类但含义不同,声明为final的类不能被继承. 2.父类的构造方法是否可以被子类 ...

  3. 两道2017华为校招Java面试题

    面试题是实验室师兄面试提供的.两道题 题1:Java中System.out.print()如何理解? 查阅API文档,我们可以知道:System是Java中的一个类,而out是System类的成员 . ...

  4. 2020华为校招面试机试题与参考答案解析

    1.数字处理 题目描述:给出一个不多于5位的整数,进行反序处理,要求 (1)求出它是几位数 (2)分别输出每一个数字(空格隔开) (3)按逆序输出各位数字(仅数字间以空格间隔,负号与数字之间不需要间隔 ...

  5. 互联网公司校招Java面试题总结及答案——阿里、腾讯

    部分重复的我已经去掉了,所以显得比较少,其他请参看我的系列文章: 互联网公司校招Java面试题总结及答案--京东 ( 百度Java面经)互联网公司校招Java面试题总结及答案--百度(目前只是部分总结 ...

  6. 互联网公司校招Java面试题总结及答案——网易

    因为时间有限,所以这部分很多都没有整理答案,后序有时间再补上. 其他请参看我的系列文章: 互联网公司校招Java面试题总结及答案--阿里.腾讯 互联网公司校招Java面试题总结及答案--微店.去哪儿. ...

  7. 2016年华为校招上机考试试题答案

    2016年华为校招上机考试试题答案          [转载请注明出处]http://blog.csdn.net/guyuealian/article/details/50968368      华为 ...

  8. 2015华为校园招聘机试题一

    2015华为校园招聘机试题<一> 今天无意之间看到了2015年华为校园招聘的机试题,于是,做了下,写出来与大家共享.先看第一题: 题目如下: 按要求分解字符串,输入两个数M,N:M代表输入 ...

  9. 互联网公司校招Java面试题总结及答案——微店、去哪儿、蘑菇街

    部分重复的我已经去掉了,所以显得比较少,其他请参看我的系列文章: 互联网公司校招Java面试题总结及答案--招银科技 互联网公司校招Java面试题总结及答案--乐视.滴滴.华为 互联网公司校招Java ...

最新文章

  1. matlab变压器紧耦合,一种紧耦合高效llc谐振变压器的制造方法
  2. 【转】Silverlight 3 Beta 新特性解析(7)- Child Window和Shader Effect篇
  3. springboot中radis配置和使用【进阶二】
  4. python在线读-python初级实战-----主机在线情况监控web
  5. 002-docker17.06安装
  6. CentOS 7 源码编译安装 Redis
  7. Springboot集成BeanValidation扩展一:错误提示信息加公共模板
  8. python爬虫 django搜索修改更新数据_python应用:Django中更新多个对象数据与删除对象的方法...
  9. pg多线程更新会发生死锁_[C#.NET 拾遗补漏]12:死锁和活锁的发生及避免
  10. 我的LINUX之路----linux目录文件管理
  11. 【Elasticsearch】es 报错 no such index index_not_found_exception
  12. 解决忽略vscode中pylint报错的问题
  13. grid安装前检查报PRVE-0426:/dev/shm less than the require
  14. spring cloud微服务分布式云架构 - Spring Cloud集成项目简介( java ssm spring boot b2b2c o2o 多租户电子...
  15. 【杂谈】蓝屏修复杂谈
  16. 照片审核处理工具_2020中级会计考试报名今天开始,照片上传要求相关说明
  17. liunx 红帽6.8、 oracle11g 安装指南
  18. 疑为灵异现象不可思议的透明液晶揭秘
  19. Oracle 大数据量查询优化
  20. CodeForces 416C Booking System

热门文章

  1. Android系统 lk启动流程简析
  2. Java:实现​lz4格式解压缩算法(附完整源码)
  3. 我想咨询一下Python,请问在哪儿找资源比较好呀?
  4. 使用Canvas绘制调色板和工艺卡片
  5. 四大类好用的科研工具分享
  6. Unity使用Mysql(添/删/改/查)(保姆级)
  7. 环信IM SDK使用(一):集成环信SDK及注意事项
  8. 通信工程专业就业之------通信协议栈开发(LTE/NR)
  9. mysql开启外网访问权限
  10. Cris 学 SpringMVC(二):使用 servlet 原生 api 作为方法入参