文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java这么使用二维数组打印一个10行的杨辉三角

2023-06-29 15:16

关注

本文小编为大家详细介绍“Java这么使用二维数组打印一个10行的杨辉三角”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java这么使用二维数组打印一个10行的杨辉三角”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

数组中元素的求和

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;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行的杨辉三角”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯