永发信息网

回答加分!很常见的Java试题,有谁告诉我下?

答案:5  悬赏:50  手机版
解决时间 2021-07-19 04:50
  • 提问者网友:富士山上尢
  • 2021-07-18 15:31

编写程序,定义一个N*N的二维数组,利用随机数初始化数组,计算其对角线元素之和 ?

如果谁知道这题的结果,能不能发一下!我会加分的~~

最佳答案
  • 五星知识达人网友:duile
  • 2021-07-18 15:38

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




全部回答
  • 1楼网友:神也偏爱
  • 2021-07-18 19:31

这个问题再想想 ,有点难。

  • 2楼网友:杯酒困英雄
  • 2021-07-18 18:33

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

  • 3楼网友:轻雾山林
  • 2021-07-18 18:18

程序代码如下:

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

程序运行结果:

  • 4楼网友:雾月
  • 2021-07-18 16:57

int foo(int pArray[3][3]) { int toReturn = 0; for(int i = 0; i < 3; i++) { toReturn += pArray[i][i]; } return toReturn; }

只给个方法。自己传随机数进去

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯