第一题: import java.lang.Integer; import java.util.Arrays; class ArrDemo{ public static void main(String[] args){ int[] arr = new int[]{1,20,60,90,4}; //int[] arr = new int[5];//问题2、这个值并没有在错误判断里面,怎么判断? System.out.println(Arrays.toString(arr)); int maxv = getMax(arr); System.out.println(maxv); } public static int getMax(int[] arr){ int length = arr.length; if(arr == null){//问题1、数组要怎么定义arr才等于null? System.out.println("数组定义错误!null值!"); System.exit(0); }else if(length == 0){ System.out.println("数组定义错误!长度等于0!"); System.exit(0); } int minv = Integer.MIN_VALUE; for(int i=0;i<length;i++){ if(arr[i] > minv){ minv = arr[i]; } } return minv; } } 第二题: public static void main(String[] args){ int[] arr = new int[]{1,20,60,90,4,10,20}; System.out.println(Arrays.toString(arr)); int position = getPos(arr,4); System.out.println(position); } public static int getPos(int[] arr,int v){ int num = 0; int position = 0; int length = arr.length; if(arr == null){ System.out.println("数组定义错误!null值!"); System.exit(0); }else if(length == 0){ System.out.println("数组定义错误!长度等于0!"); System.exit(0); } for(int i=0;i<length;i++){ if(v == arr[i]){ num ++; position = i; break; } } return position; } 第三题: public static void main(String[] args){ int[] arr = new int[]{10,20,60,90,4,11,20,2}; int[] bulle_arr = bulleSort(arr); System.out.println(Arrays.toString(bulle_arr)); } //冒泡排序,升序 public static int[] bulleSort(int[] arr){ int length = arr.length; int tmp = 0; for(int i=0;i<length-1;i++){ for(int j=0;j<length-1-i;j++){ if(arr[j]>arr[j+1]){ tmp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = tmp; } } } return arr; } 第四题: public static void main(String[] args){ int[] arr = new int[]{1,2,3,.....,1021,1022,1023}; //log2^1024 = 10; int binv = binSearch(arr,1023); System.out.println(binv); } public static int binSearch(int[] arr,int v){ int length = arr.length; int left = 0; int right = length - 1; int i = 0; int r = 0; int num = 0; while(left <= right){ num ++; i = (left + right)/2; if(arr[i] == v){ r = i; break; }else if(arr[i] > v){ right = i - 1; }else{//arr[i]<v left = i + 1; } if(num >= 1000){ break; } } System.out.println(num); return r; } 第五题:首先是有序,一分为二的去查找,一次去掉一半数据,匹配次数成对数增长。 第六题: public static void main(String[] args){ int[][] arr = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}}; for(int i=0;i<arr.length;i++){ System.out.println(Arrays.toString(arr[i])); } int[][] rows_arr = changeArr(arr); for(int i=0;i<rows_arr.length;i++){ System.out.println(Arrays.toString(rows_arr[i])); } } public static int[][] changeArr(int[][] arr){ int tmp = 0; int num = 0; for(int i=0;i<arr.length;i++){ for(int j=i+1;j<arr[i].length;j++){ tmp = arr[i][j]; arr[i][j] = arr[j][i]; arr[j][i] = tmp; num ++; } } System.out.println(num); return arr; } 第七题: class TreeDemo{ public static void main(String[] args){ int[][][] arr = {{{1,2,3},{4,5,6},{7,8,9}},{{10,11,12},{13,14,15},{16,17,18}},{{19,20,21},{22,23,24},{25,26,27}}}; treeStruct(arr); } public static void treeStruct(int[][][] arr){ for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ for(int m=0;m<arr[j].length;m++){ System.out.print(arr[j][i][m] + "\t"); } System.out.print("| "); } System.out.println(""); } } } 第八题: class DogDemo{ public static void main(String[] args){ AttrDemo attr = new AttrDemo(); attr.cry("red",100); System.out.println(attr.getColor()); System.out.println(attr.getAge()); } } class Dog{ private static String color = "white"; private static int age = 10; public void cry(String color,int age){ this.color = color; this.age = age; } public String getColor(){ return this.color; } public int getAge(){ return this.age; } } 第九题: 堆区:一个内存区域,存放数组、对象、对象成员属性等数据,定义一个超大的数据就会出现溢出。 栈区:使用计算机寄存器空间,局部变量、方法都存放在栈区内,存放方式是先进后出,先调用的方法 压入栈底,调用完之后栈顶的方法先弹出。栈溢出无限递归调用一个方法。 第十题: oop:面向对象编程。封装、继承、多态。
大数据Java基础第三天作业
原创
©著作权归作者所有:来自51CTO博客作者森林敏的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇: 大数据Java基础第四天作业

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章