案例一
求一个3*3矩阵对角线元素之和
思路分析:利用双重for循环控制输入二维数组,再将a[i][j]累加后输出。i和j符合对角线元素的情况有,i=j或者i+j=a.length-1;
代码展示:
public static void main(String[] args) {
//定义一个Scanner类
Scanner sc=new Scanner(System.in);
//定义一个二维数组,并从键盘获取数值
int a[][]=new int[3][3];
for (int i = 0; i < a.length; i++) {
System.out.println("请输入a["+i+"]一维数组内的三个整数:");
for (int j = 0; j < a[i].length; j++) {
a[i][j]=sc.nextInt();
}
}
//打印输出这个3*3矩阵的二维数组
int sum=0;
System.out.println("这个3*3矩阵的二维数组为:");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+"\t");
if (i==j&&i+j!=a.length-1||i+j==a.length-1) {
sum+=a[i][j];
}
}
System.out.println();
}
System.out.println("对角线元素之和:"+sum);
}
运行效果:
案例二
定义一个4行4列的二维数组,逐个从键盘输入值,然后将第1行和第4行的数据进行交换,将第2行和第3行的数据进行交换
思路分析:利用Arrays.copyOf方法复制
代码展示:
public static void main(St