淘先锋技术网

首页 1 2 3 4 5 6 7

Java软件训练题库是程序员面试备考时非常关键的一部分内容。通过练习各种难度的编程题目,可以提高解决问题的能力和编程效率。以下是一些常见的Java软件训练题库和答案。

1. LeetCode:LeetCode是一个非常流行的编程题库,覆盖面广泛,题目难度从简单到困难不等。可以在LeetCode上找到很多Java编程问题,包括数组、链表、树、图和动态规划等。以下是LeetCode的一个示例题目和相应的Java代码:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummy = new ListNode(0);
ListNode cur = dummy;
int carry = 0;
while (l1 != null || l2 != null) {
int num1 = l1 == null ? 0 : l1.val;
int num2 = l2 == null ? 0 : l2.val;
int sum = num1 + num2 + carry;
carry = sum / 10;
cur.next = new ListNode(sum % 10);
cur = cur.next;
if (l1 != null) l1 = l1.next;
if (l2 != null) l2 = l2.next;
}
if (carry >0) {
cur.next = new ListNode(carry);
}
return dummy.next;
}
}

2. HackerRank:HackerRank是一个面向开发人员的技能测验平台,旨在帮助人们提高编程技能。该平台提供从基础到高级的Java编程问题,其中包括数据结构、算法、面向对象编程、JDBC和操作系统等。以下是HackerRank的一个示例题目和相应的Java代码:

import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
Setset1 = new HashSet<>();
Setset2 = new HashSet<>();
for (int i = 0; i< n; i++) {
set1.add(scanner.nextInt());
}
for (int i = 0; i< m; i++) {
set2.add(scanner.nextInt());
}
set1.retainAll(set2);
Listlist = new ArrayList<>(set1);
Collections.sort(list);
for (int i : list) {
System.out.print(i + " ");
}
}
}

3. Codewars:Codewars是一个程序员社区,提供面向程序员的编程挑战,并允许用户评级和评分解决方案。该平台提供Java编程问题,包括算法、字符串、模块化和Web开发等。以下是Codewars的一个示例题目和相应的Java代码:

public class Kata {
public static boolean isTriangle(int a, int b, int c) {
if (a<= 0 || b<= 0 || c<= 0) {
return false;
}
if (a + b >c && b + c >a && a + c >b) {
return true;
} else {
return false;
}
}
}

总之,Java软件训练题库是提高编程技能和学习Java的最佳途径之一。通过不断练习,我们可以了解各种不同的编程概念、算法、数据结构和最佳实践,从而成为一名出色的Java程序员。