首頁  >  文章  >  Java  >  Java這麼使用二維數組印出10行的楊輝三角

Java這麼使用二維數組印出10行的楊輝三角

王林
王林轉載
2023-04-19 22:40:051462瀏覽

數組中元素的求和

public class T02 {
    public static void main(String[] args) {
        int[][]arr=new int[][]{{1,2,3,4,5},{1,2,3,5},{8,9,7}};
        int sum=0;
        for(int i=0;i< arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
               sum=arr[i][j]+sum;
            }
        }
        System.out.println("sum="+sum);
    }
}
//和为50

使用二維數組列印一個10行的楊輝三角

public class T02 {
    public static void main(String[] args) {
        //声明并且初始化数组
        int[][]arr=new int[10][];
        //给数组的元素赋值
        for(int i=0;i< arr.length;i++){
            arr[i]=new int[i+1];
            arr[i][0]=arr[i][i]=1;
            if(i>1){
                for(int k=1;k<arr[i].length-1;k++){
                    arr[i][k]=arr[i-1][k-1]+arr[i-1][k];
                }
            }
        }
        //遍历数组
        for(int i=0;i< arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
    }
}

求數值型數組中元素的最大值、最小值、平均數、總和等

public class T03 {
    public static void main(String[] args) {
        int[] arr=new int[10];
        for(int i=0;i< arr.length;i++){
            arr[i]=(int)Math.random()*((99-10+1)+10);
            //[a,b]中的随机数的公式:Math.readom()*((b-a+1)+a).
            //注意这里出来的为double类型。
        }
        //求最大值
        int maximum=0;
        for(int i=0;i< arr.length;i++){
            if(maximum<arr[i]){
                maximum=arr[i];
            }
        }
        System.out.println("最大值为:"+maximum);
        //求最小值
        int minimum=arr[0];
        for(int i=1;i< arr.length;i++){
            if(minimum>arr[i]){
                minimum=arr[i];
            }
        }
        System.out.println("最大值为:"+minimum);
        //求和
        int sum=0;
        for(int i=1;i< arr.length;i++){
            sum=sum+arr[i];
        }
        System.out.println("sum:"+sum);
        //求平均数
        System.out.println("平均数为:"+sum/ arr.length);
    }
}

*使用簡單數組

(1)創建一個名為T04的類,在main()方法中聲明array1和array2兩個變數

#他們是int[]型別的數組。

(2)使用大括號{},將array1初始化為8個質數:2,3,5,7,11,13,17,19。

(3)顯示array1的內容。

(4)賦值array2變數等於array1,修改array2中的偶索引元素,使其等於索引值(如array[0]=0, array[2]=2)。印出array1。 **思考:array1和array2是什麼關係?
拓展:修改題目,實現array2對array1數組的複製

public class T04 {
    public static void main(String[] args) {
        int[] array1,array2;
        array1=new int[]{2,3,5,7,11,13,17,19};
        for(int i=0;i< array1.length;i++){
            System.out.print(array1[i]+"\t");
        }     //赋值array1变量等于array2     //不能称作数组的复制
        array2=array1;
        for(int i=0;i< array1.length;i++){
            if(i%2==0){
                array2[i]=i;
            }
        }
        System.out.println();
        System.out.println("******************************************");
        for(int i=0;i< array1.length;i++){
            System.out.print(array1[i]+"\t");
        }
    }
}

Java這麼使用二維數組印出10行的楊輝三角

(1)array1與array2的地址值一樣,都指向了堆空間唯一的陣列實體

(2)

 for(int i=0;i< array1.length;i++){
            array2[i]=array1[i];
        }

Java這麼使用二維數組印出10行的楊輝三角

#方法2

int i=0;
        int j=0;
        for(i=0,j= arr.length-1;i<j;i++,j--){
            int a=arr[i];
            arr[i]=arr[j];
            arr[j]=a;
        }

線性查找

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

Java這麼使用二維數組印出10行的楊輝三角

Java這麼使用二維數組印出10行的楊輝三角

二分法查找

//前提必須是有序的條件下

#例子:先看從小到大的

import java.util.Scanner;

public class T07 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int a= s.nextInt();
        int[]arr=new int[]{1,2,3,4,6,7,8,9,10};
        int left=0;
        int right= arr.length-1;
        boolean is=true;
        while(left<=right){
            int average=(int)(left+right)/2;
            if(arr[average]>a){
                right=average-1;
            } else if(a==arr[average]){
                System.out.println("找到了,下标是:"+average);
                is=false;
            } else {
                left = average + 1;
//            }if(left==right){
//                System.out.println("没有找到");
//                is=false;
            }
        }
        if(is){
            System.out.println("很遗憾没有找到");
        }
    }
}

冒泡排序

public class T08 {
    public static void main(String[] args) {
        int[]arr=new int[]{33,55,2,6,-8,-5,66,1,63};
        for(int i=0;i< arr.length-1;i++){
            for(int j=0;j< arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    int a=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=a;
                }
            }
        }
        for(int i=0;i< arr.length;i++) {
                System.out.println(arr[i]);
        }
    }
}

Java這麼使用二維數組印出10行的楊輝三角

求一個3*3矩陣對角線元素總和

這是一道矩陣的程式實現題。 Java中矩陣一般都是透過二維數組實現的。

具體程式碼如下:

import java.util.Random;

/**
 * 求一个3*3矩阵对角线元素之和
 *
 * @author ChenZX
 *
 */
public class Test04 {

    public static void main(String[] args) {
        int sum = 0; //和
        int[][] arr = new int[3][3];
        Random r = new Random();
        for(int i=0;i<3;i++){    //随机生成矩阵
            for(int j=0;j<3;j++){
                arr[i][j] = r.nextInt(10);  //0到9
            }
        }
        for(int i=0;i<3;i++){      //遍历矩阵
            for(int j=0;j<3;j++){
                System.out.print(arr[i][j]+" ");   //打印矩阵元素
                if(i==j){   //如果为对角线元素
                    sum += arr[i][j];  //求和
                }
            }
            System.out.println(); //每输出3个元素换行
        }
        System.out.println("此矩阵对角线的和为:"+sum);
    }
}

以上是Java這麼使用二維數組印出10行的楊輝三角的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除