有一组彩色小球24,26,37,88,65,13,66,75,21,33,76共11个,按照从小到大的顺序进行排序,单数和复数分组输出,且输出的值不能是7和11的倍数。 请根据大家学习的知识点,至少用两种java方式完成程序设计。
时间: 2024-06-13 11:08:51 浏览: 15
以下是两种Java方式完成题目要求的程序设计:
方法一:
```java
import java.util.ArrayList;
import java.util.Collections;
public class BallSorter {
public static void main(String[] args) {
int[] balls = {24, 26, 37, 88, 65, 13, 66, 75, 21, 33, 76};
ArrayList<Integer> oddBalls = new ArrayList<>();
ArrayList<Integer> evenBalls = new ArrayList<>();
// 将球按照从小到大的顺序排序
ArrayList<Integer> sortedBalls = new ArrayList<>();
for (int ball : balls) {
sortedBalls.add(ball);
}
Collections.sort(sortedBalls);
// 将球按照单数和复数分组输出,且不能是7和11的倍数
for (int ball : sortedBalls) {
if (ball % 7 != 0 && ball % 11 != 0) {
if (ball % 2 == 0) {
evenBalls.add(ball);
} else {
oddBalls.add(ball);
}
}
}
System.out.println("Odd balls:");
for (int ball : oddBalls) {
System.out.println(ball);
}
System.out.println("Even balls:");
for (int ball : evenBalls) {
System.out.println(ball);
}
}
}
```
方法二:
```java
import java.util.ArrayList;
import java.util.Arrays;
public class BallSorter {
public static void main(String[] args) {
int[] balls = {24, 26, 37, 88, 65, 13, 66, 75, 21, 33, 76};
ArrayList<Integer> oddBalls = new ArrayList<>();
ArrayList<Integer> evenBalls = new ArrayList<>();
// 将球按照从小到大的顺序排序
Arrays.sort(balls);
// 将球按照单数和复数分组输出,且不能是7和11的倍数
for (int ball : balls) {
if (ball % 7 != 0 && ball % 11 != 0) {
if (ball % 2 == 0) {
evenBalls.add(ball);
} else {
oddBalls.add(ball);
}
}
}
System.out.println("Odd balls:");
for (int ball : oddBalls) {
System.out.println(ball);
}
System.out.println("Even balls:");
for (int ball : evenBalls) {
System.out.println(ball);
}
}
}
```