码迷,mamicode.com
首页 > 编程语言 > 详细

【大数据-第二期】java基础第三天作业

时间:2016-05-03 16:22:13      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:java


  1. 定义一个函数,函数功能是动态提取int[]中元素的最大值。

    public static void main(String[] args){
        
        System.out.println(getMax(new int[0]));
        int[] arr = new int[]{3,2,11,5};
        System.out.println("Arr最大值为:" + getMax(arr));
    }
    public static int getMax(int[] arr){
        int temp = Integer.MIN_VALUE;
        if (arr == null || arr.length == 0)
        {
            System.out.print("[值错误]");
            return -1;
        }
        for (int i = 0;i < arr.length ;i++ )
        {
            if (temp < arr[i])
            {
                temp = arr[i];
            }
        }
        return temp;
    }

2.定义一个函数,从数组中查询指定的元素首次出现的位置。

    public static void main(String[] args){
        
        int[] arr = new int[]{1,2,3,4,5,6,0,10};
        
        int index = searchArray(0, arr);
        
    }
    public static int searchArray(int num,int[] arr){
        if (arr == null)
        {
            System.out.println("arr值不能为null");
                return -1;
        }
        int index = -1;
        for (int i = 0;i < arr.length ;i++ )
        {
            if (arr[i] == num)
            {
                index = i;
                System.out.println("Number:" + num + ",存在位置为:" + index);
                return i;
            }
        }
        System.out.println("Can‘t Search Number:" + num);
        return -1 ;
    }

3.定义函数,完成冒泡排序,大数下沉。

    public static void main(String[] args){
        
        int[] arr = sort(new int[]{-1,-22,0,-3,1,-33});
        out(arr);
    }
    public static int[] sort(int[] arr){
        int temp = 0;
        for (int i = 0;i < arr.length ;i++ )
        {
            for (int j = i + 1; j < arr.length ;j++ )
            {
                if (arr[i] > arr[j])
                {
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        return arr;
    }
    public static void out(int[] arr){
        for (int i = 0;i < arr.length ;i++ )
        {
            System.out.print(arr[i] + "\t");
        }
        System.out.println();
    }

4.折半查找。

class    Test {

public static void main(String[] args) {

    int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
    int a = 0,b = arr.length - 1,m = 0;
    int x = 2;
    while (a <= b){
        m = (a + b) / 2;
        if (arr[m] == x){
            System.out.println("Index is:" + m);
            break;
        }else if (x < arr[m])
        {
            b = m - 1;
        }else {
            b = m + 1;
        }
    }
    }
}

5.定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的。

    public static void main(String[] args) {
        int arr[][] = {{1,2,3},{4,5,6},{7,8,9}};
        //out(arr);
        System.out.println("------------------------");
            arr = trans(arr);
            out(arr);
        }
    
    public static int[][] trans(int[][] arr){
        for (int i = 0;i < arr.length - 1 ;i ++ )
        {
            for (int j = i + 1; j < arr.length ;j ++ )
            {
                int temp = arr[i][j];
                arr[i][j] = arr[j][i];
                arr[j][i] = temp;
            }
            
        }
        return arr;
    }
    public static void out(int[][] arr){
    for (int i = 0;i < arr.length;i++)
    {
        for (int j = 0;j < arr.length ;j ++ )
        {
            System.out.print(arr[i][j] + "\t");
        }
            System.out.println();
    }
    }

6.遍历三维组数,横向输出三维数组的每一个层。

这题参考老师的答案还是没看明白...

    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 } } };
outHor(arr);
    }
    public static void outHor(int[][][] arr){
        for (int i = 0; i < arr.length ;i++ )
        {
            for (int j = 0 ; j < arr.length; j++ )
            {
                for (int k = 0;k < arr[j][i].length ;k++ )
                {
                    System.out.print(arr[j][i][k] + "\t");
                }
                System.out.print("|  " );
            }
            System.out.println();
        }
    }

7.定义一个类:Dog 有名称 color age cry();

    public static void main(String[] args) {
        Dog d = new Dog("yellow",100);
        System.out.println("Color:" + d.getColor() + "   Age:" + d.getAge());
        
        
    }
}
class Dog
{
    private String color;
    private int age;
    
    public Dog(String color,int age){
        this.color = color;
        this.age = age;
    }
    public void setColor(String color){
        this.color = color;
    }
    public String getColor(){
        return color;
    }
    public void setAge(int age){
        this.age = age;
    }
    public int getAge(){
        return age;
    }
    public void cry(){
        System.out.println("汪汪~ ~ ~");
    }

9.阐述出来堆区,栈区,何时出现溢出,如何解决。

答:

    堆区:存储对象和成员变量。

    栈区:存储局部变量和方法存数。

    溢出:占用内存资源较大的对象,或者递归时溢出。

            

解决方法:

        Java -Xms;

10.oop

面相对象:和面向过程一样是一种编程方法。

类:对象的抽象化。

对象:类的实例化。

实例:=对象

成员变量:对象的属性变量。

成员函数:对象的方法。

public:公共的修饰符,提供各类调用。

private:私有的修饰符,提高安全性,只允许在本类中调用。可以通过set,get方法改变其属性。用于封装。

构造函数:构造一个初始化对象。没有返回值。

this:是对象的成员变量,用于类中的方法引用和属性引用。

static:静态的,修饰成员变量,成员函数。,类也可以引用静态成员,静态方法只能访问静态成员.


【大数据-第二期】java基础第三天作业

标签:java

原文地址:http://xpenguin.blog.51cto.com/4912157/1769720

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