练习4:求一个n阶方阵对角线元素之和。
import java.util.Scanner;
public class juzhen {
public static void main(String args[]){
System.out.println("请输入阶数n:\n");
Scanner input=new Scanner(System.in );
int n=input.nextInt();
int[][] num=new int[n][n];
int sum1=0,sum2=0;
System.out.println("请依次输入矩阵的元素数值:");
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
num[i][j]=input.nextInt();
if(i==j)
{
sum1+=num[i][j];
}
if(i==n-j-1&&j==n-i-1){
sum2+=num[i][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(num[i][j]+"\t");
}
System.out.println();
}
System.out.println("主对角线和为:"+sum1);
System.out.println("副对角线和为:"+sum2);
}
}
![这里写图片描述](https://img-blog.csdn.net/20170919225408162?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRXZhbjE5ODcwNTA0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
练习5:输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
import java.util.Arrays;
import java.util.Scanner;
public class Change {
public static void main(String args[]){
System.out.println("输入数组的长度:");
Scanner input=new Scanner(System.in );
int length=input.nextInt();
int[] a=new int [length];
for(int i=0;i<length;i++){
System .out.println("请输入元素:");
int n=input.nextInt();
a[i]=n;
}
System.out.println("初始时的数组:");
System.out.println(Arrays.toString(a));
int max=0;
for(int j=0;j<a.length;j++){
if(a[j]>a[max]){
max=j;
}
}
int t=a[0];
a[0]=a[max];
a[max]=t;
int min=0;
for(int j=0;j<a.length;j++){
if(a[min]>a[j]){
min=j;
}
}
int t1=a[a.length-1];
a[a.length-1]=a[min];
a[min]=t1;
System.out.println("交换后的数组:");
System.out.println(Arrays.toString(a));
}
}
![这里写图片描述](https://img-blog.csdn.net/20170919225309181?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRXZhbjE5ODcwNTA0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)