Java语法基础练习题2

来源:互联网 发布:淘宝直通车怎么样 编辑:程序博客网 时间:2024/06/05 18:42
练习4:

求一个n阶方阵对角线元素之和。

 

代码如下:

 

public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请输入方阵阶数:");Scanner sc=new Scanner(System.in);int n=sc.nextInt();int [][]a=new int[n][n];System.out.println("请输入元素:");for(int i=0;i<n;i++)for(int j=0;j<n;j++){a[i][j]=sc.nextInt();}System.out.println("方阵为:");for(int i=0;i<n;i++){for(int j=0;j<n;j++){System.out.print(a[i][j]);}System.out.println("\n");}Sum(a,n);}static void Sum(int a[][],int N){int sum1=0,sum2=0,sum=0;for(int i=0;i<N;i++)sum1+=a[i][i];for(int i=0;i<N;i++)sum2+=a[i][N-i-1];sum=sum1+sum2;System.out.println("N阶方阵的对角线和为:"+sum);}

 

运行结果图:

 

 

练习5:

输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

 

代码如下:

 

public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请输入数组的长度:");Scanner sc=new Scanner(System.in);int lenth=sc.nextInt();int[]a=new int[lenth];System.out.println("请输入数组元素:");for(int i=0;i<lenth;i++){a[i]=sc.nextInt();}System.out.println("输入的数组为:");for(int i=0;i<lenth;i++){System.out.println(a[i]+"");}int max=a[0],min=a[0];int m=0,n=0;int t=0;for(int i=0;i<lenth;i++){if(a[i]>max){max=a[i];m=i;}else if(a[i]<min){min=a[i];n=i;}}t=a[0];a[0]=a[m];a[m]=t;t=a[lenth-1];a[lenth-1]=a[n];a[n]=t;System.out.println("最大值:"+max+"最小值:"+min);System.out.println("输出数组:");for(int i=0;i<lenth;i++){System.out.println(a[i]+"");}}

 

运行结果图: