一、定义一个数组其中包含多个数字。用自己的方式最终实现,奇数放在数组的左边, 偶数放在数组的右边。(可以创建其他数组,不必须在原数组中改变)
public class SeparateArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] result = separateOddEven(arr);
System.out.println("奇数放在数组左边,偶数放在数组右边的结果数组为:");
for (int num : result) {
System.out.print(num + " ");
}
}
private static int[] separateOddEven(int[] arr) {
int[] result = new int[arr.length];
int left = 0;
int right = arr.length - 1;
for (int num : arr) {
// 如果数字是奇数,则放在左边
if (num % 2 != 0) {
result[left] = num;
left++;
}
// 如果数字是偶数,则放在右边
else {
result[right] = num;
right--;
}
}
return result;
}
}
二、在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的 最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算 出选手的得分。
import java.util.Arrays;
import java.util.Scanner;
public class FinalScore {
public static void main(String[] args) {
int[] scores = new int[6];
Scanner scanner = new Scanner(System.in);
// 获取评委们的打分
for (int i = 0; i < scores.length; i++) {
System.out.print("请输入评委" + (i + 1) + "的打分:");
scores[i] = scanner.nextInt();
}
// 找到最高分和最低分
Arrays.sort(scores);
int minScore = scores[0];
int maxScore = scores[5];
// 计算剩余四个评委的总分
int total = 0;
for (int i = 1; i < 5; i++) {
total += scores[i];
}
// 计算选手的最后得分(去掉最高分和最低分后的平均分)
double finalScore = (double) total / 4;
System.out.println("选手的最后得分为:" + finalScore);
}
}
三、现有一个int 数组,数组中有十个元素。将数组反转后输出。
public class ReverseArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
reverseArray(arr);
System.out.println("反转后的数组为:");
for (int num : arr) {
System.out.print(num + " ");
}
}
private static void reverseArray(int[] arr) {
int start = 0;
int end = arr.length - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
}