Java练习(2)

练习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);
    }
}

这里写图片描述

练习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));
    }

}

这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值