三尺非寒 发表于 2023-3-11 21:18:12

Java基础入门-数组练习

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

分析:       
1.初始化一个数组,里面既可以存储奇数也可以存储偶数(下面称这个个数组为原数组)。
2.再次定义两个数组,一个用来存放从原数组中挑出来的奇数int[] anotherOdds = new int;,一个用来存放从原数组中挑出来的偶数int[] anotherEve = new int;。数组长度均为原数组长度。
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;
      for (int i = 0; i < arr.length; i++) {
            //输出提示信息
            System.out.println("请往数组中输入数字:");
            int getUserIn = scanner.nextInt();
            arr = getUserIn;
      }
      //输出提示信息
      System.out.println("处理前的数组为:"+ Arrays.toString(arr));
      //判断奇数还是偶数
      //重新定义另一个数组用于接收奇数数据
      int[] anotherOdds = new int;
      //再次定义一个数组接受偶数数据
      int[] anotherEve = new int;

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

    }
}执行效果如下

https://img2023.cnblogs.com/blog/2238969/202303/2238969-20230311204809716-2055851808.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Java基础入门-数组练习