从12月7日预科班的第一个代码”helloWorld”开始,我向Java迈出了第一步…从课堂上的自我介绍开始,仿佛又回到了学校的学生时代(不过在这里本来就是学生啦~)…在学习的过程中,难免会遇到问题,我一般都是自己先看错误提示,检查自己的语法是否正确,标点符号是否是中文输入法,其次思考是不是逻辑出现问题,只有自己真的解决不了了,才去请教同学或者老师…我觉得这样的话,我会对这些错误印象更加深刻,以后遇到了,就都不是问题了… 我分享一个对我来说记忆深刻的题目哈.当时想了好久都没想到怎么解决不重复的问题,经过老师的讲解,才恍然大悟… package com.itheima.test02; import java.util.Random; //1.创建两个长度为5的数组,数组内元素为随机生成的、不重复的 1-100之间的偶数(每个数组内部的元素一定是不重复的1-100之间的偶数,但两个数组间可以有重复的)。 //2.定义一个方法unionArr(描述如下),传入两个数组,方法中将两个数组元素合并到一个新数组中,并且将新数组的内容打印到控制台上 // public static int[] unionArr(int[]arr1,int[] arr2) // 功能: 两个数组的元素存入到一个新数组中并返回 //3.程序运行结果(因为数字随机生成,这里只是举个例子:) // // 原数组1:[78, 48, 20,94, 34] // 原数组2:[32, 10, 98,4, 52] // 合并后数组:[78, 48, 20, 94, 34, 32, 10, 98, 4, 52] public classTest02 { public static void main(String[] args) { //创建长度为5的数组 int[] arr1 = new int[5]; int[] arr2 = new int[5]; numArr(arr1); numArr(arr2); System.out.print("原数组1:"); printArr(arr1); System.out.print("原数组2:"); printArr(arr2); int[] arr3 = unionArr(arr1, arr2); System.out.print("合并后数组:"); printArr(arr3); } public static void numArr(int[] arr) { //创建随机数对象 Randomrd = new Random(); //数组内元素为随机生成的、不重复的 1-100之间的偶数 int count = 0;//计数器 while(count < 5) { int num1 = rd.nextInt(100) +1; boolean bl = isTrue(arr, num1); if (num1 %2 == 0 && !bl) { arr[count] = num1; count++; } } } //判断数组中是否有相同的元素. public static boolean isTrue(int[] arr,int num) { for (int i = 0; i < arr.length; i++) { if (arr[i] == num) { return true; } } return false; } //定义一个方法unionArr(描述如下),传入两个数组,方法中将两个数组元素合并到一个新数组中, //并且将新数组的内容打印到控制台上 public static int[] unionArr(int[] arr1,int[] arr2) { int[] arr3 = new int[arr1.length + arr2.length]; for (int i = 0; i < arr1.length; i++) { //arr3数组中传入arr1数组的每个元素 arr3[i] = arr1[i]; } for (int i = 0; i < arr2.length; i++) { //arr3数组中传入arr2数组中的每个元素 arr3[arr1.length + i] = arr2[i]; } return arr3; } //程序运行结果 public static void printArr(int[] arr) { System.out.print("["); for (int i = 0; i < arr.length; i++) { if (i == arr.length - 1) { System.out.println(arr[i] + "]"); }else { System.out.print(arr[i] + ", "); } } } } 那时候刚学到数组这个知识点…运用起来还有难度…虽然现在不能说顺手拈来,但至少一般的小问题还是可以解决的……现在已经学到面向对象了,跟之前的面向过程编程思想不一样…虽然有时候还会用面向过程的思想考虑问题,不过我相信通过以后多练,多学…对于面向对象的思维方式肯定会更加清晰…今天先写到这里哈…写得不好,请多多包涵!~~
|