蓝桥杯java试题及答案
蓝桥杯是中国著名的计算机科学与技术竞赛,旨在选拔和培养优秀的计算机人才,尤其是高中和大学的学生。Java是蓝桥杯竞赛中常见的编程语言之一。本文将介绍一些常见的蓝桥杯Java试题,并提供相应的答案。
一、编程题
1. 题目描述:
请编写一个Java程序,实现将一个整数数组中的奇数和偶数分别放在两个新数组中,并按照从小到大的顺序排列。
解题思路:
可以使用两个ArrayList来保存奇数和偶数,先遍历原数组,将奇数放入奇数数组,将偶数放入偶数数组,然后分别对两个数组进行升序排序。
代码实现:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class SplitArray {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6};
        ArrayList<Integer> oddList = new ArrayList<>();
        ArrayList<Integer> evenList = new ArrayList<>();
        for (int num : arr) {
            if (num % 2 == 0) {
                evenList.add(num);
            } else {
                oddList.add(num);
            }
        }
        Collections.sort(oddList);
        Collections.sort(evenList);
        System.out.println("奇数数组:" + oddList);
        System.out.println("偶数数组:" + evenList);
    }
}
```
答案分析:
该程序首先定义了一个整型数组 `arr`,然后创建两个ArrayList:`oddList`用于保存奇数,`evenList`用于保存偶数。遍历原数组,将奇数放入`oddList`,偶数放入`evenList`。最后,分别对两个ArrayList进行升序排序,然后输出结果。
2. 题目描述:
简单的java游戏代码
给定一个字符串s,你需要反转其中的每个单词,同时保留单词的顺序。
解题思路:
可以先将字符串s按空格拆分成一个字符串数组,然后遍历字符串数组,将每个单词反转,最后将反转后的单词用空格拼接起来。
代码实现:
```java
public class ReverseWords {
    public static void main(String[] args) {
        String s = "Let's take LeetCode contest";
        String[] words = s.split(" ");
        StringBuilder result = new StringBuilder();
        for (String word : words) {
            StringBuilder reversedWord = new StringBuilder(word);
            verse();
            result.append(reversedWord).append(" ");
        }
        System.out.String().trim());
    }
}
```
答案分析:
该程序首先定义了一个字符串`s`,然后使用`split`方法按空格拆分成一个字符串数组`words`。遍历`words`,将每个单词都反转后拼接到`result`中,并在每个单词后面加上一个空格。最后,输出结果时使用`trim()`方法去掉最后一个单词后面的空格。