码迷,mamicode.com
首页 > 其他好文 > 详细

大数据第三天作业

时间:2016-05-20 19:57:19      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:java基础

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是面向对象编程,将数据作为类的属性进行封装,面向对象的好处在于,扩展性强,不会出现"二次造车轮的现象".

大数据第三天作业

标签:java基础

原文地址:http://pwitachi.blog.51cto.com/5057345/1775460

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!