大数据第三天作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据第三天作业相关的知识,希望对你有一定的参考价值。
1.定义一个函数,函数功能是动态提取int[]中元素的最大值。 public class Main { /** * 定义一个函数,函数功能是动态提取int[]中元素的最大值。 */ public static void main(String[] args) { //定义数组 int[] nums = new int[5]; //初始化数组 for(int i= 0;i<5;i++){ nums[i] = i; } int max = getMax(nums); System.out.println("数组中最大的值为:"+max); } /** * 获取一个整型数组中最大的元素 */ public static int getMax(int[] nums){ int tmp = 0; for(int i = 0;i<nums.length;i++){ if(nums[i]>tmp){ tmp = i; } } return tmp; } }
2.定义一个函数,从数组中查询指定的元素首次出现的位置。 public class Main { /** * 定义一个函数,从数组中查询指定的元素首次出现的位置。 */ public static void main(String[] args) { char[] strs = {‘h‘,‘e‘,‘l‘,‘l‘,‘o‘}; char c = ‘e‘; int index = indexOf(strs,c); System.out.println("字符"+c+"首次出现的位置为:"+index); } public static int indexOf(char[] strs,char c){ for(int i =0;i<strs.length;i++){ if(strs[i]==c){ return i; }else{ System.out.println("没有找到对应的元素"); } } return -1; } }
3.定义函数,完成冒泡排序,大数下沉。
public class Main { /** * 定义函数,完成冒泡排序,大数下沉。 */ public static void main(String[] args) { int[] nums = new int[5]; //初始化数组(降序) for(int i=4,n=0; i>=0 ;i--,n++){ nums[n] = i; } System.out.println("排序前"); printNums(nums); //排序 nums=order(nums); System.out.println("排序后"); printNums(nums); } public static int[] order(int[] nums){ for(int i=0;i<nums.length;i++){ for(int j=0;j<nums.length-(i+1);j++){ if(nums[j]>nums[j+1]){ int tmp; tmp=nums[j]; nums[j]=nums[j+1]; nums[j+1]=tmp; } } } return nums; } public static void printNums(int[] nums){ for(int j =0;j<5;j++){ System.out.print(nums[j]); } System.out.println(); } }
4.折半查找
public class Main { /* * 折半查找 */ public static void main(String[] args) { int[]nums = new int[10]; for(int i=0;i<10;i++){ nums[i] =i; } find(nums,10,0,nums.length-1); } public static void find(int[] nums,int n,int begin,int end){ int mid = (nums[begin]+nums[end])/2; if(mid == n){ System.out.println("找到了"); } if(n>mid){ begin = mid; find(nums,n,begin,end); } if(n<mid){ end = mid; find(nums,n,begin,end); } } }
5.没明白题意?
6.定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的
public class Main { /** * 定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的 */ public static void main(String[] args) { int[][] nums= new int[3][3]; int num = 0; for(int i = 0; i<3; i++){ for(int j =0 ;j<3;j++){ nums[i][j] = num; num++; } } System.out.println("转换前"); printNums(nums); nums=reverse(nums); System.out.println("转换后"); printNums(nums); } public static int[][] reverse(int[][]nums){ int[][] nums2= new int[3][3]; for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ nums2[i][j] = nums[j][i]; } } return nums2; } public static void printNums(int[][]nums){ for(int i = 0; i<3; i++){ for(int j =0 ;j<3;j++){ System.out.print(nums[i][j]); } System.out.println(); } } }
7.遍历三维组数,横向输出三维数组的每一个层。
public class Main { /** * 遍历三维组数,横向输出三维数组的每一个层 */ public static void main(String[] args) { int[][][] nums = new int[3][3][3]; int num = 0; for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ for(int k=0;k<3;k++){ nums[i][j][k] = num++; } } } for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ for(int k=0;k<3;k++){ System.out.print(nums[i][j][k]); } System.out.println(); } System.out.println(); } } }
8.定义一个类:Dog 有名称 color age cry();
public class Dog { private String color; private int age; public void cry(){ System.out.println("汪汪汪"); } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } }
9.阐述出来堆区,栈区,何时出现溢出,如何解决。
答:堆是虚拟机中存放对象的区域,栈是一个先进后出的数据结构,在java虚拟机中有方法栈,栈中放的方法帧,一个程序至少要有一个栈作为main函数的栈.
如果在构造函数中new对象就会出现堆栈溢出,防止堆栈溢出就要仔细写代码,不要出现死循环的创建对象的场景,资源使用完毕后要及时进行释放.
10.oop
答:oop是面向对象编程,将数据作为类的属性进行封装,面向对象的好处在于,扩展性强,不会出现"二次造车轮的现象".
以上是关于大数据第三天作业的主要内容,如果未能解决你的问题,请参考以下文章