Java基础入门-数组练习

Posted zwshd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础入门-数组练习相关的知识,希望对你有一定的参考价值。

需求: 定义一个数组其中包含多个数字。用自己的方式最终实现,奇数放在数组的左边,偶数放在数组的右边。(可以创建其他数组,不必须在原数组中改变)

分析:
1.初始化一个数组,里面既可以存储奇数也可以存储偶数(下面称这个个数组为原数组)。
2.再次定义两个数组,一个用来存放从原数组中挑出来的奇数int[] anotherOdds = new int[arr.length];,一个用来存放从原数组中挑出来的偶数int[] anotherEve = new int[arr.length];。数组长度均为原数组长度。
3.定义变量int j=0;,用来计数原数组中有多少个奇数,并且在遍历原数组的时候遇到奇数可以存放到奇数数组中,同时j++;。同理,定义变量int k=0;,用来计数原数组中有多少个偶数,并且在遍历原数组的时候遇到偶数可以存放到偶数数组中,同时k++;
4.遍历偶数数组,把偶数数组中的数值拿出来放到奇数数组下标为j起始的位置,放入成功则执行j++;

下面为需求实现代码:
点击查看代码

import java.util.Arrays;
import java.util.Scanner;
/*
    定义一个数组其中包含多个数字。
    用自己的方式最终实现,奇数放在数组的左边,
    偶数放在数组的右边。
    (可以创建其他数组,不必须在原数组中改变)
 */
public class Demo19 
    public static void main(String[] args) 
        //创建Scanner对象
        Scanner scanner = new Scanner(System.in);
        //输出提示信息
        System.out.println("请输入数组的长度:");
        //接受用户输入:
        int getUserNum = scanner.nextInt();
        //动态初始化一个数组
        int[] arr = new int[getUserNum];
        for (int i = 0; i < arr.length; i++) 
            //输出提示信息
            System.out.println("请往数组中输入数字:");
            int getUserIn = scanner.nextInt();
            arr[i] = getUserIn;
        
        //输出提示信息
        System.out.println("处理前的数组为:"+ Arrays.toString(arr));
        //判断奇数还是偶数
        //重新定义另一个数组用于接收奇数数据
        int[] anotherOdds = new int[arr.length];
        //再次定义一个数组接受偶数数据
        int[] anotherEve = new int[arr.length];

        //定义一个变量用于得到新数组的奇数索引
        int j = 0,k=0;
        for (int i = 0; i < arr.length; i++) 
            if (arr[i]%2!=0)
                anotherOdds[j] = arr[i];
                j++;
            else 
                anotherEve[k] = arr[i];
                k++;
            
        
        for (int i = 0; i < k; i++) 
            anotherOdds[j] = anotherEve[i];
            j++;
        
        //输出一下新数组
        System.out.println("处理后的数组为:"+Arrays.toString(anotherOdds));
//        System.out.println(Arrays.toString(anotherEve));
//        System.out.println(j);

    

执行效果如下

以上是关于Java基础入门-数组练习的主要内容,如果未能解决你的问题,请参考以下文章

java 课程大纲

educoder(头歌)平台Java实训作业答案

Java入门练习100例09.数组中的最小值——一维数组

Java入门练习100例10.各行元素之和——二维数组

保姆级Java入门练习教程,附代码讲解,小白零基础入门必备(建议收藏)

《C#零基础入门之百识百例》(二十一)数组遍历 -- 删除数组零元素