大資料作業第三天

來源:互聯網
上載者:User

標籤:數組

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

  1. package Day2;public class MaxDemoi {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(getMax(new int[0]));int[] arr={1,2,3,4,5,6,7,8,9};System.out.println("Maxvalue is "+getMax(arr));}public static int getMax(int[] arr){if(arr==null||arr.length==0){System.out.println("數組不存在");return -1;}int tmp=0;for(int i=0;i<arr.length;i++){if(tmp<arr[i]){tmp=arr[i];}}return tmp;}}

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

package Day2;public class FirstShow {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr=new int[]{1,2,3,4,5};int index=FindArray(3, arr);}public static int FindArray(int num,int array[]){if(array == null|| array.length==0){System.out.println("數組不可為空");return -1;}int index=-1;for(int i=0;i<array.length;i++){if(array[i]==num){index=i;System.out.println("所取數的位置是"+index);}else{System.out.println("找不到啊");return -1;}}return index;}}

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

package Day2;public class BUbbDemo { public void sort(int[] args){    for(int m : args){   System.out.print("排序前 "+args[m]+" ");  }    int time1 = 0,time2 = 0;  for(int i = 0 ; i < args.length-1 ; i++){   ++time1;   for(int j = i+1 ; j < args.length ; j++){    ++time2;    int temp ;    if(args[i] > args[j]){     temp = args[j];     args[j] = args[i];     args[i] = temp;    }   }  }  System.out.println();  System.out.println("外迴圈次數:"+time1+"內迴圈次數:"+time2);  for(int n : args){   System.out.print("排序後 "+n+" ");  } } public static void main(String[] args) {  int[] arg = new int[]{2,1,4,5,8,7,6,3,9,0};  new BUbbDemo().sort(arg); }}

4.折半尋找。

package Day2;/* * 折半尋找 */public class minDemo {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr=new int[]{1,2,3,4,5,6,7,8,9};int a=0,b=arr.length-1,m=0;int x=5;while(a<=b){m=(a+b)/2;if(m==x){System.out.println("找到"+m);break;}else if(x<arr[m]){b=m-1;}else{a=m+1;}}}}

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

package Day2;public class ArrayTransDemo {public static void main(String[] args) {// TODO Auto-generated method stubint[][] 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 } };out(arr);System.out.println("------------");transArr(arr);out(arr);}public static int[][] transArr(int[][] arr) {// TODO Auto-generated method stubfor(int i=0;i<arr.length-1;i++){for(int j=i+1;j<arr[i].length;j++){int temp=arr[i][j];arr[i][j]=arr[j][i];arr[j][i]=temp;}}return arr;}private static void out(int[][] arr) {// TODO Auto-generated method stubfor(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++)System.out.println(arr[i][j]+"\t");}System.out.println();}}


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

package Day2;public class OutHorizontalDemo {public static void main(String[] args) {// TODO Auto-generated method stubint[][][] arrr={{{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}}};outarrr(arrr);}private static void outarrr(int[][][] arrr) {// TODO Auto-generated method stubfor(int i=0;i<arrr.length;i++){for(int j=0;j<arrr[i].length;j++){for(int t=0;t<arrr[i][j].length;t++){System.out.print(arrr[j][i][t] + "\t");}System.out.print("|");}System.out.println();}}}

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

package Day2;public class DogDemo {public static void main(String[] args) {// TODO Auto-generated method stubDog dog=new Dog("houhou",3);dog.cry();System.out.println("name"+dog.getName()+"age"+dog.getAge());dog.setAge(4);dog.setName("lallalalal");System.out.println("name"+dog.getName()+"age"+dog.getAge());}}class Dog{private String name;private int age;public Dog(String name,int age){this.name=name;this.age=age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void cry(){System.out.println("55555555555");}}

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

堆區:儲存對象以及成員變數棧區:儲存方法以及局部變數

溢出條件:產生過多或者佔用記憶體很大的對象函數遞迴調用自身可能出現棧區溢出

如何解決:1.儘可能不產生不必要的對象或成員變數1.遞迴操作要小心

2.設定JAVA虛擬機器堆大小(java -Xms<size>) 2.採用非遞迴手段

10.oop

面相對象:是相對面向過程而言的一種編程方式,將問題簡單化.

類:是對象的抽象.

對象:是類的具體實現.

執行個體:就是對象.

成員變數:對象的屬性變數.

成員函數:對象的方法.

public:用於修飾成員變數或者成員函數,表示公有,供其他類調用.

private:用於修飾成員變數或者成員函數,表示私人,用於封裝,提高資料安全性,可通過set,get方法進行屬性的改變,擷取

建構函式:用於初始化對象.函數沒有傳回值.

this:是對象的成員變數,指向當前的對象,用於類中方法引用當前對象.

static:靜態,修飾成員變數,同類對象所共有,類也可以引用靜態成員,靜態方法只能訪問靜態成員.


大資料作業第三天

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.