求矩阵的对角线之和

ok_17300 2015-05-01 07:41:25
小弟我学生党一枚,刚学Java,这个程序有很多不懂得地方,大神们,可以指教吗

import java.io.*;
import java.util.*;
public class MatrixTrace
{
public static void main(String args[]) throws IOException
{
int n=0;
System.out.print("请输入矩阵的维数及数组内容:");
Scanner reader = new Scanner(System.in);
n=reader.nextInt();
String[] s=new String[n];
Scanner[] scan=new Scanner[n];
long[][] a=new long[n][n];
long sum=0;
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
for(int i=0;i<n;i++)
{
s[i]=stdin.readLine(); //连续输入多行
}
System.out.println("您输入的矩阵为:");
for(int i=0;i<n;i++){
scan[i]=new Scanner(s[i]);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
a[i][j]=scan[i].nextLong();
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(a[i][j]+" ");
if(i==j)
{
sum=sum+a[i][j];
}
}
System.out.println("");
}
System.out.println("矩阵的迹为:"+sum);
}
}






这几个部分不太明白
Scanner[] scan=new Scanner[n];
System.out.println("您输入的矩阵为:");
for(int i=0;i<n;i++){
scan[i]=new Scanner(s[i]);
}


希望大神指教,帮我解决一下
...全文
288 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
blank_space 2015-05-02
  • 打赏
  • 举报
回复
为什么我复制粘贴运行后 显示我 Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextLong(Unknown Source) at java.util.Scanner.nextLong(Unknown Source) at A.main(A.java:28)
Chengyajie521 2015-05-02
  • 打赏
  • 举报
回复
这个代码写的不好,从键盘接收输入时就能得到矩阵的tr。而且就算不在输入时判断,一个单层的循环也足够计算
MyRe 2015-05-02
  • 打赏
  • 举报
回复
这代码和这问题都让我看得有点蛋疼。 Scanner[] scan=new Scanner[n];// 创建一个数量为 n 的 Scanner 数组 System.out.println("您输入的矩阵为:");// 输入一串字符串 for(int i=0;i<n;i++){ scan[i]=new Scanner(s[i]); //用一个 for 循环为每一个 Scanner 变量创建实例。 其实我不懂你问什么...

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧