【问题标题】:double dimension input only allows first row二维输入只允许第一行
【发布时间】:2017-10-04 17:46:52
【问题描述】:

我有一个二维数组,我的目标是找到所有数字的总和以及所有数字的对角线总和。

BufferedReader kb = new BufferedReader(new InputStreamReader(System.in));
int [][] a=new int [5][5];
int same=0;
int sum=0;
System.out.println("Please enter your numbers");
for(int r=0;r<5;r++)
for(int c=0;r<5;r++)
a[r][c]=Integer.parseInt(kb.readLine());   
for(int r=0;r<5;r++)
for(int c=0;r<5;r++)
sum=sum+a[r][c];
for(int r=0;r<5;r++)
for(int c=0;r<5;r++)
if (r==c)
{same=same+a[r][c];}

System.out.println("The sum of the diaganols is "+same+" The sum of everything is "+sum);

我打开了一个二维数组,但是启动程序时只能输入5个数字,对应第一行。

我真的是编程新手,请原谅我犯的任何愚蠢错误,谢谢!

【问题讨论】:

    标签: java multidimensional-array double dimensions


    【解决方案1】:

    那是因为你在 for 循环中使用相同的变量来获取输入。

    for(int r=0;r<5;r++)
    //for r = 0
    for(int c=0;r<5;r++)
    //r 0 to 5 (take 5 input)
    

    这里 r 在内部循环中达到 5,因此两个循环退出作为退出条件对于两者都是相同的 (r

    for (int i = 0; i < 5 ; i++){
     for (int j = 0; j < 5 ; j++){
        a[i][j] = //read input
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 2019-08-22
      • 2016-03-28
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多