用java定义一个二维数组,用于存储1个3*3矩阵的元素值,求出该矩阵对角线元素之和并输出结果
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
double[][] matrix=new double[3][3];
double sum=0;
Scanner scanner=new Scanner(System.in);
System.out.println(“请输入1个3X3矩阵:”);
for(int i=0;i3;i++)
{
for(int j=0;i3;j++)
{
matrix[i][j]=scanner.nextDouble();
if(i==j)
{
sum+=matrix[i][j];
}
}
}
System.out.println(“对角线之和为:”+sum);
}
}
用java编写一个程序,求如下矩阵对角线之和。
public static void main(String args[]){
int A[][]=new int[4][4]{{9,2,5,9},{2,0,3,7},{15,4,5,6},{8,3,12,5}};
int sum=0;
for(int i=0;i4;i++)
{
sum+=A[i][i];
}
System.out.println(“此矩阵主对角线上的元素之和是:”+sum);
}
求一个4×4的整型二维数组主对角线元素之和
下面是Java语言编写一个计算4*4整型数组对角线元素和的代码:
import java.util.Scanner;
public class 2DArrayPractice {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 请输入任意一个4*4的矩阵,计算出左右对角线上的元素之和
*/
int[][] array = new int[4][4];
Scanner scan = new Scanner(System.in);
for(int i = 0; i array.length; i++){
for(int j = 0; j array[i].length; j++){
System.out.println(“请输入第”+(i+1)+”行第”+(j+1)+”列上的元素:”);
array[i][j] = scan.nextInt();
}
}
int total = 0;//作为最后存放结构的变量
for(int i = 0; i array.length; i++){
for(int j = 0; j array[i].length; j++){
//左对角元素 右对角元素
if(i == j || i +j == 3){
total += array[i][j];
}
}
}
}
}
执行结果(执行的时候需要输入4*4的数组):
扩展资料:
Java中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。
Java 并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。声明二维数组的语法如下:
type array[][];type[][] array;
其中,type 表示二维数组的类型,array 表示数组名称,第一个中括号表示行,第二个中括号表示列。
下面分别声明 int 类型和 char 类型的数组,代码如下:
int[][] age; char[][] sex;
二维数组可以初始化,和一维数组一样,可以通过3种方式来指定元素的初始值。
这 3 种方式的语法如下:
array=new type[][]{值 1,值 2,值 3,…,值 n};
array=new type[][]{new 构造方法(参数列),…};
type[][] array={{第1行第1列的值,第1行第2列的值,…},{第2行第1列的值,第2行第2列的值,…},…};
用java 编一个程序 定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。
import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(“请输入n*n数组,n=”);
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] a = new int[n][n];//定义n*n数组
int result = 0;
for(int i=0; in; i++){
for(int j=0; jn; j++){
System.out.println(“请输入第”+i+”行,第”+j+”列元素:”);
a[i][j]=sc.nextInt();
}
result +=a[i][i];
}
System.out.println(“对角线元素和为:”+result);
}
}
用java编程一个正方形对角线的数相加的程序
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Test {
public static int getInput() {
int input = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();
input = Integer.parseInt(str);
} catch (Exception e) {
System.out.println(“输入有误,重新输入:”);
getInput();
}
return input;
}
public static int[][] createSquare(int n) {
int i, j;
int square[][] = new int[n][n];
System.out.println(“输入正方形数字矩阵:”);
for (i = 0; i n; i++) {
for (j = 0; j n; j++) {
System.out.println(“[” + (i + 1) + “]” + “[” + (j + 1) + “] :”);
square[i][j] = getInput();
}
}
return square;
}
public static void main(String[] args) {
System.out.println(“输入正方形的边长(整数):”);
int i = getInput();
if (i != 0) {
System.out.println(“i = ” + i);
int square[][] = new int[i][i];
square = createSquare(i);
display(square);
getSum(square);
}
}
private static void getSum(int[][] square) {
int n = square.length;
int sum_1 = 0,sum_2 = 0;
int i, j;
System.out.print(“\n正对角线之和为: “);
for (i = 0; i n; i++) {
for (j = 0; j n; j++) {
if (i==j) {
sum_1 = sum_1 + square[i][j];
System.out.print(square[i][j]);
if (in-1){
System.out.print(“+”);
}
}
}
}
System.out.println(“=”+sum_1);
System.out.print(“\n另一条对角线之和为: “);
for (i = 0; i n; i++) {
for (j = 0; j n; j++) {
if (i+j==(n-1)) {
sum_2 = sum_2 + square[i][j];
System.out.print(square[i][j]);
if (in-1){
System.out.print(“+”);
}
}
}
}
System.out.println(“=”+sum_2);
}
private static void display(int[][] square) {
// TODO Auto-generated method stub
int i, j;
int n = square.length;
System.out.println(“该正方形数字矩阵为:”);
for (i = 0; i n; i++) {
for (j = 0; j n; j++) {
System.out.print(square[i][j] + “\t”);
}
System.out.println();
}
}
}