21xrx.com
2024-11-22 10:09:38 Friday
登录
文章检索 我的文章 写文章
编写代码实现字符串反转
2023-06-15 13:18:03 深夜i     --     --
Java面试 笔试代码案例

Java面试笔试常见题目及解析

在Java程序员求职的过程中,笔试是非常常见的环节,因此掌握相应的知识点及解题技巧对于求职者非常重要。本文将介绍几种常见的Java面试笔试题目及解析。

1、

解析:反转字符串有多种方式实现,可以使用StringBuilder或StringBuffer等类,也可以使用递归等方式实现。本题可使用StringBuilder类提供的reverse()方法实现字符串反转。

代码实现:

public class Test {

  public static void main(String[] args) {

    String str = "hello world";

    StringBuilder sb = new StringBuilder(str);

    System.out.println(sb.reverse());

  }

}

2、题目:写一个斐波那契数列的函数

解析:斐波那契数列指的是一个数列,其中第一和第二个数为1,从第三个数开始,每个数都是它前面两个数的和。本题可使用递归或循环方式实现。

代码实现:

public class Test {

  public static void main(String[] args) {

    int n = 10;

    for(int i=1; i<=n; i++) {

      System.out.print(fibonacci(i) + " ");

    }

  }

  public static int fibonacci(int n) {

    if(n==1 || n==2)

      return 1;

     else {

      return fibonacci(n-1) + fibonacci(n-2);

    }

  }

}

3、题目:查找一个字符串中出现最多的字符

解析:本题可使用哈希表(HashMap)实现。遍历字符串,将每个字符作为key,出现次数作为value存入哈希表中,然后找出哈希表中出现次数最多的字符。

代码实现:

public class Test {

  public static void main(String[] args) {

    String str = "abbcccddddeeeeeffffff";

    HashMap map = new HashMap<>();

    for(int i=0; i

      char c = str.charAt(i);

      if(map.containsKey(c)) {

        map.put(c, map.get(c)+1);

      } else {

        map.put(c, 1);

      }

    }

    char maxChar = ' ';

    int maxCount = 0;

    for(Map.Entry entry : map.entrySet()) {

      if(entry.getValue() > maxCount) {

        maxCount = entry.getValue();

        maxChar = entry.getKey();

      }

    }

    System.out.println("出现最多的字符是:" + maxChar);

  }

}

  
  

评论区

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