黑马程序员技术交流社区
标题: 小心得``` [打印本页]
作者: chen666888 时间: 2017-12-25 23:54
标题: 小心得```
从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] + ", ");
}
}
}
}
那时候刚学到数组这个知识点…运用起来还有难度…虽然现在不能说顺手拈来,但至少一般的小问题还是可以解决的……现在已经学到面向对象了,跟之前的面向过程编程思想不一样…虽然有时候还会用面向过程的思想考虑问题,不过我相信通过以后多练,多学…对于面向对象的思维方式肯定会更加清晰…今天先写到这里哈…写得不好,请多多包涵!~~
作者: 小浙姐姐 时间: 2017-12-30 15:43
加油!看好你哦!希望就业班更加努力,然后顺利找到一份心仪的offer呢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |