练习4:
求一个n阶方阵对角线元素之和。
代码如下:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.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 stub
System.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]+"");
}
}
运行结果图: