华为在线笔试题目解析:代码挑战

需积分: 10 0 下载量 47 浏览量 更新于2024-09-07 收藏 3KB TXT 举报
"华为在线笔试代码20180912包含两个Java程序,用于解决不同的编程问题。第一个程序(h1)旨在找到并输出字符串中唯一字符的最后一个出现位置,第二个程序(h2)则将输入字符串的每个单词进行反转并连接起来。" 在这些Java代码中,我们可以提取出以下IT相关的知识点: 1. **Java基础语法**: - 类定义(`public class h1` 和 `public class h2`) - 主方法(`public static void main(String[] args)`),这是Java程序的入口点。 - 使用`Scanner`类进行用户输入(`Scanner sc = new Scanner(System.in)`)。 - 字符串操作:`charAt()`、`indexOf()`、`lastIndexOf()` 和 `length()`。 - 集合框架:`List` 接口的实现类 `ArrayList`,以及通过 `add()` 添加元素。 - 条件判断:`if` 语句用于检查集合的大小和条件满足时执行特定操作。 - 类型转换:`(char)list.get(list.size()-1)`,将整数转换为字符。 - 字符串连接:使用 `+` 连接字符串。 2. **字符串处理**: - `split("")` 方法用于根据空格拆分字符串为字符串数组。 - `StringBuffer` 类用于高效地进行字符串拼接,尤其在循环中,比使用 `+` 更加高效。 - `reverse()` 方法用于反转字符串。 - `toString()` 方法将 `StringBuffer` 转换为 `String` 类型。 - `trim()` 方法用于去除字符串两端的空白字符。 3. **单元测试**: - 提到这些代码已经在在线评测系统(OJ)上进行了单元测试并可以通过,这表明代码的正确性和完整性得到了验证。单元测试是软件开发中确保代码质量的重要步骤。 4. **华为在线笔试**: - 这些代码可能代表华为招聘过程中的一次在线编程测试题目。通常这类题目旨在考察候选人的编程基础、逻辑思维和问题解决能力。 通过这两个示例代码,我们可以了解到在实际的编程面试或在线测试中,可能会遇到的问题类型,以及如何利用Java语言来解决问题。对于求职者来说,熟悉这些基本概念和技术是非常重要的。