大數據作業第三天

1.定義一個函數,函數功能是動態提取int[]中元素的最大值。

class ArrayMax

{

public static void main(String[] args){

getMax(new int[]{5,2,7,9,2,8,1});

}


public static void getMax(int[] arr){

if(arr == null || arr.length == 0){

System.out.println("數組不存在!");

}

int temp=arr[0];

for(int i=0;i<arr.length;i++){

if(temp<arr[i]){

temp=arr[i];

}

}

System.out.println(temp);

}

}

2.定義一個函數,從數組中查詢指定的元素首次出現的位置。

class SearchArray

{

public static void main(String[] args){

System.out.println("指定的元素首次出現的位置爲"+searchArray(2, new int[]{5,6,1,4,2,9,8,7}));

}


public static int searchArray(int index,int[] arr){

int temp=-1;

if (arr==null || arr.length==0){

System.out.println("數組異常!");

}


for (int i=0;i<arr.length ;i++ ){

if (arr[i]==index){

temp=i;

break;

}

}

if (temp==-1){

System.out.println("數組中無該元素!");

}

return temp;

}

}


3.定義函數,完成冒泡排序,大數下沉。

class BubbleArray

{

public static void main(String[] args){

outArray(bubbleArray(new int[]{5,9,2,6,3,1,8,4,7}));

}

public static int[] bubbleArray(int[] arr){

for (int i=0;i<arr.length-1 ;i++ ){

for (int j=0;j<arr.length-i-1 ;j++ ){

int temp=0;

if (arr[j]>arr[j+1]){

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

return arr;

}


public static void outArray(int[] arr){

for (int i=0;i<arr.length ;i++ ){

System.out.print(arr[i]+"\t");

}

}

}


4.折半查找。

class HalfFind{


public static void main(String[] args){

int temp;

temp=findArr(new int[]{1,2,3,4,5,6,7,8,9},2);

if (temp==-1){

System.out.println("該數組中無此數字!");

}

else {

System.out.println("該數字在此數組中爲第"+temp+"位");

}

}

public static int findArr(int[] arr,int x){

int a=0,b=arr.length-1,t=-1,mid=0;

while(a<=b){

mid=(a+b)/2;

if (arr[mid]==x){

t=mid;

break;

}

else if (x<arr[mid]){

b=mid-1;

}

else if (x>arr[mid]){

a=mid+1;

}

}

return t;

}

}


5.闡述

6.定義一個函數,實現矩陣的轉置.arr[i][j] == arr[j][i];//前提條件是正方的。

class TransArray{

public static void main(String[] args){

//定義一個5*5的數組

int[][] arr=new int[5][5];

int n=1;

for (int i=0;i<arr.length ;i++ ){

for (int j=0;j<arr[i].length ;j++ ){

arr[i][j]=n;

n++;

}

}

outArray(arr);

arr=transArray(arr);

System.out.println("數組轉置之後變爲:");

outArray(arr);

}

//打印數組

public static void outArray(int[][] arr){

for (int i=0;i<arr.length ;i++ ){

for (int j=0;j<arr[i].length ;j++ ){

System.out.print(arr[i][j]+"  ");

}

System.out.println();

}

}

//轉置數組

public static int[][] transArray(int[][] arr){

int temp;

for (int i=0;i<arr.length ;i++ ){

for (int j=i;j<arr[i].length ;j++ ){

temp=arr[i][j];

arr[i][j]=arr[j][i];

arr[j][i]=temp;

}

}

return arr;

}

}


7.遍歷三維組數,橫向輸出三維數組的每一個層。

class ThreeArray{

public static void main(String[] args){

int[][][] arr=new int[3][3][3];

int n=1;

for (int i=0;i<arr.length ;i++ ){

for (int j=0;j<arr[i].length ;j++ ){

for (int k=0;k<arr[i][j].length ;k++ ){

arr[i][j][k]=n;

n++;

System.out.print(arr[i][j][k]+"\t");

}

System.out.println();

}

System.out.println("*******************************");

}

//橫向打印

for (int j=0;j<arr.length ;j++ ){

for (int i=0;i<arr[j].length ;i++ ){

for (int k=0;k<arr[i][j].length ;k++ ){

System.out.print(arr[i][j][k]+"\t");

}

System.out.print(" | ");

}

System.out.println();

}

}

}

8.定義一個類:Dog 有名稱 color age cry();

class ClassDog

{

public static void main(String[] args){

Dog teddi=new Dog("Teddi","brown",2);

System.out.print("Name:"+teddi.getName()+"\n"+"Age:"+teddi.getAge()+"\n"+"Color:"+teddi.getColor()+"\n");

teddi.cry();

}

}

class Dog

{

private String name;

private String color;

private int age;


public void cry(){

System.out.println("wang!wang!wang!!!");

}


public Dog(String name,String color,int age){

this.name=name;

this.color=color;

this.age=age;

}

public void setName(String name){

this.name=name;

}

public void setColor(String color){

this.color=color;

}

public void setAge(int age){

this.age=age;

}

public String getName(){

return this.name;

}

public String getColor(){

return this.color;

}

public int getAge(){

return this.age;

}

}

9.闡述出來堆區,棧區,何時出現溢出,如何解決。


10.oop


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章