21xrx.com
2025-04-03 03:39:00 Thursday
文章检索 我的文章 写文章
作为一名 Java 工程师
2023-06-15 16:27:13 深夜i     9     0

作为一名 Java 工程师,无论是在找工作时面试还是在平时学习中,都需要掌握一些常见的编程题,以便更好地应对面试官的提问。下面我将分享一些我在准备 Java 面试时常见到的编程题及其解答,希望对大家有所帮助。

1. 反转字符串

这是一道非常基础的编程题。我们可以使用 StringBuilder 的 reverse() 方法来实现,并用 toString() 方法将其转换为字符串输出。具体代码如下:

public static String reverseString(String str) {
  if (str == null || str.length() == 0)
    return str;
  
  StringBuilder sb = new StringBuilder(str);
  return sb.reverse().toString();
}

2. 查找字符串中的最大连续子串

这道题的解答需要用到动态规划算法。我们可以使用一个一维数组 dp 来保存到当前位置为止的最大子串长度,然后遍历数组并更新 dp 数组中的值,最后返回 dp 数组中的最大值即可。具体代码如下:

public static int maxSubString(String str) {
  if (str == null || str.length() == 0)
    return 0;
  
  int[] dp = new int[str.length()];
  int max = dp[0] = 1;
  for (int i = 1; i < str.length(); i++) {
    if (str.charAt(i) != str.charAt(i - 1)) {
      dp[i] = dp[i - 1] + 1;
    } else {
      dp[i] = 1;
    }
    max = Math.max(max, dp[i]);
  }
  return max;
}

3. 判断一个数是否为素数

在 Java 中判断一个数是否为素数,我们可以使用以下代码:

public static boolean isPrime(int num) {
  if (num <= 1)
    return false;
  
  for (int i = 2; i <= Math.sqrt(num); i++) {
    if (num % i == 0)
      return false;
    
  }
  return true;
}

以上就是我在准备 Java 面试时常见到的编程题。掌握这些基础的编程题能够帮助我们更好地理解 Java 编程语言,也能够在面试时更加自信地回答问题。

  
  

评论区

请求出错了