21xrx.com
2024-12-23 10:16:04 Monday
登录
文章检索 我的文章 写文章
作为一名 Java 工程师
2023-06-15 16:27:13 深夜i     --     --

作为一名 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 编程语言,也能够在面试时更加自信地回答问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复