您的位置:首页 > 大数据

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

2016-05-03 14:56 447 查看
定义一个函数,函数功能是动态提取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