编写程序,定义一个N*N的二维数组,利用随机数初始化数组,计算其对角线元素之和 ?
如果谁知道这题的结果,能不能发一下!我会加分的~~
编写程序,定义一个N*N的二维数组,利用随机数初始化数组,计算其对角线元素之和 ?
如果谁知道这题的结果,能不能发一下!我会加分的~~
public static void main(String[] args) {
int[][] arr = new int[10][10];
java.util.Random r = new java.util.Random();
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = r.nextInt(9);
}
}
int num = 0;
String str = "";
for (int i = 0; i < arr.length; i++) {
String tmp = "";
for (int j = 0; j < arr[i].length; j++) {
tmp += arr[i][j] + " ";
if (j == i) {
num = num + arr[i][j];
str += arr[i][j] + "+";
}
}
System.out.println(tmp);
}
System.out.println(str + "=" + num);
}
你自己再改下,我把随机数设置为了9以内的
执行结果
public static void main(String[] args) {
int[][] arr = new int[10][10];
java.util.Random r = new java.util.Random();
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = r.nextInt(9);
}
}
int num = 0;
String str = "";
for (int i = 0; i < arr.length; i++) {
String tmp = "";
for (int j = 0; j < arr[i].length; j++) {
tmp += arr[i][j] + " ";
if (j == i) {
num = num + arr[i][j];
str += arr[i][j] + "+";
}
}
System.out.println(tmp);
}
System.out.println(str + "=" + num);
}
这个问题再想想 ,有点难。
package year2009.m11.d28;
import java.util.Random; import java.util.Scanner;
public class NN {
public static void main(String[] args) { int sum = 0; System.out.println("输入要生成的矩阵的大小:"); Scanner scan = new Scanner(System.in); int input = scan.nextInt(); int[][] nn = new int[input][input]; for(int i=0;i<input;i++) { for(int j=0;j<input;j++) { nn[i][j] = (int)(Math.random() * 100); } } System.out.println("随机生成的是" + input + "*" + input + "的矩阵:"); for(int i=0;i<input;i++) { for(int j=0;j<input;j++) { System.out.print("[" + nn[i][j] + "]"); } System.out.println(); } System.out.println("其对角线元素之和:"); for(int i=0;i<input;i++) { sum += nn[i][i]; } System.out.println(sum); } }
程序代码如下:
import java.util.*; public class Array { public static void main(String args[]) { int i,j; int a[][]= new int[4][4]; Random d =new Random(); for(i=0;i<4;i++) { for(j=0;j<4;j++) { a[i][j]=d.nextInt(20); } } int duijiaoxian=0; for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(i==j)duijiaoxian+=a[i][j]; } } System.out.println("4*4的数组对角线元素之和为:"+duijiaoxian); } }
程序运行结果:
int foo(int pArray[3][3]) { int toReturn = 0; for(int i = 0; i < 3; i++) { toReturn += pArray[i][i]; } return toReturn; }
只给个方法。自己传随机数进去