键盘录入6个整数, 将其存入到数组中. 需求一: 统计数组中所有的奇数之和, 并将结果打印到控制台上. 需求二: 将数组元素按照指定格式打印.

import java.util.Scanner;
public class Test5 {
    public static void main(String[] args) {
        int[] arr = new int[6];
        int sum=0;
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入6个整数");
        for (int i = 0; i < arr.length; i++) {
            arr[i]=sc.nextInt();
        }
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]%2!=0){
                sum+=arr[i];
            }
        }
        System.out.println("数组中所有奇数和为"+sum);
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1){
                System.out.print(arr[i]);
            }
            else{
            System.out.print(arr[i]+", ");
            }
        }
        System.out.print("]");
    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来解答你的问题。 1. 用Java键盘录入10个整数存入数组中 可以使用Scanner类来实现键盘输入,代码如下: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { System.out.print("请输入第" + (i+1) + "个整数:"); arr[i] = scanner.nextInt(); } System.out.println("输入数组为:"); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } } ``` 2. 定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧 可以使用双指针法,在遍历数组时,用一个指针指向数组的头部,另一个指针指向数组的尾部,依次判断每个数的奇偶性,如果是奇数就将其放在左侧,如果是偶数就将其放在右侧。 代码如下: ```java public static void oddEvenSort(int[] arr) { int left = 0, right = arr.length - 1; while (left < right) { while (left < right && arr[left] % 2 == 1) { 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 i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } ``` 3. 定义一个方法传入一个int类型数组,输出这个数组中只出现一次的数字及个数。 可以使用HashMap来统计每个数字出现的次数,然后再遍历一次数组,输出只出现一次的数字及个数。 代码如下: ```java import java.util.HashMap; public static void findSingleNum(int[] arr) { HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < arr.length; i++) { if (map.containsKey(arr[i])) { int count = map.get(arr[i]); map.put(arr[i], count + 1); } else { map.put(arr[i], 1); } } int singleCount = 0; System.out.print("数组中只出现一次的数字有:"); for (Integer key : map.keySet()) { if (map.get(key) == 1) { singleCount++; System.out.print(key + " "); } } System.out.println("共" + singleCount + "个"); } ``` 完整代码如下: ```java import java.util.HashMap; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { System.out.print("请输入第" + (i+1) + "个整数:"); arr[i] = scanner.nextInt(); } System.out.println("输入数组为:"); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } oddEvenSort(arr); findSingleNum(arr); } public static void oddEvenSort(int[] arr) { int left = 0, right = arr.length - 1; while (left < right) { while (left < right && arr[left] % 2 == 1) { 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 i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println(); } public static void findSingleNum(int[] arr) { HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < arr.length; i++) { if (map.containsKey(arr[i])) { int count = map.get(arr[i]); map.put(arr[i], count + 1); } else { map.put(arr[i], 1); } } int singleCount = 0; System.out.print("数组中只出现一次的数字有:"); for (Integer key : map.keySet()) { if (map.get(key) == 1) { singleCount++; System.out.print(key + " "); } } System.out.println("共" + singleCount + "个"); } } ``` 希望我的回答能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值