分析以下需求,并用代码实现(数组实现)?

    (1)键盘录入三个整数,按照从小到大的顺序输出
    (2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"

好的,以下代码实现: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { // 1.键盘录入 10 个整数存入数组中 Scanner scanner = new Scanner(System.in); int[] arr = new int[10]; System.out.println("请输入10个整数:"); for (int i = 0; i < 10; i++) { arr[i] = scanner.nextInt(); } // 2.将奇数放在数组的左侧,偶数放在数组的右侧 sortArray(arr); // 3.输出这个数组中只出现一次的数字及个数 printSingleNum(arr); } // 将奇数放在数组的左侧,偶数放在数组的右侧 private static void sortArray(int[] arr) { int left = 0; int right = arr.length - 1; while (left < right) { while (left < right && arr[left] % 2 != 0) { left++; } while (left < right && arr[right] % 2 == 0) { right--; } if (left < right) { int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } } System.out.println("奇数在左侧,偶数在右侧的数组为:"); for (int num : arr) { System.out.print(num + " "); } System.out.println(); } // 输出这个数组中只出现一次的数字及个数 private static void printSingleNum(int[] arr) { System.out.println("数组中只出现一次的数字及个数为:"); for (int i = 0; i < arr.length; i++) { int count = 0; for (int j = 0; j < arr.length; j++) { if (arr[i] == arr[j]) { count++; } } if (count == 1) { System.out.println(arr[i] + " 出现了 1 次"); } } } } ``` 这段代码实现以下功能: 1. 键盘录入 10 个整数存入数组中 2. 定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧,并输出排序后的数组 3. 定义一个方法传入一个 int 类型数组输出这个数组中只出现一次的数字及个数 注意事项: - 为了方便输入,这里使用 Scanner 类进行键盘输入 - 第二个方法使用了双指针法进行排序 - 第三个方法使用了两层循环,效率可能不高,但是可以实现功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值