你是后端领域java技术专家, 给我列出5道简单的java面试代码题 并提供解题思路和实现代码
时间: 2024-05-13 15:13:29 浏览: 65
总结的Java后端面试题
5星 · 资源好评率100%
题目一:求两个整数的和并输出结果
思路:使用Scanner类获取用户输入的两个整数,然后进行相加操作,最后输出结果。
代码:
```
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.print("请输入第二个整数:");
int num2 = scanner.nextInt();
int sum = num1 + num2;
System.out.println("两个整数的和为:" + sum);
}
}
```
题目二:判断一个整数是否是质数
思路:使用for循环遍历2到该数的平方根,判断该数是否能被整除,如果能被整除则不是质数。
代码:
```
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(num + "是质数。");
} else {
System.out.println(num + "不是质数。");
}
}
}
```
题目三:统计字符串中每个字符出现的次数
思路:使用HashMap存储每个字符出现的次数,遍历字符串中的每个字符,如果该字符已经在HashMap中,则将其对应的值加1,否则将该字符作为键值对添加到HashMap中。
代码:
```
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class CountCharacters {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
Map<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
}
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + "出现的次数为:" + entry.getValue());
}
}
}
```
题目四:计算数组中所有元素的平均值
思路:使用for循环遍历数组,将每个元素累加起来,然后除以数组的长度即可得到平均值。
代码:
```
public class Average {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
double average = (double) sum / arr.length;
System.out.println("数组中所有元素的平均值为:" + average);
}
}
```
题目五:实现冒泡排序算法
思路:使用for循环嵌套实现冒泡排序,外层循环控制排序的趟数,内层循环控制每趟排序中比较的次数,如果相邻的两个元素大小关系不符合要求,则交换它们的位置。
代码:
```
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 4, 3, 2, 1};
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
阅读全文