2010-07-13 95 views
0

我需要帮助,我得到这个矩阵的一个问题,我需要把它以这样的方式帮助java矩阵?

 
1 2 3 4 = 10 
2 4 6 8 = 20 
3 6 9 12 = 30 
4 8 12 16 = 40 

但我有这样:

 
1 2 3 4 1 
2 4 6 8 2 
3 6 9 12 3 
4 8 12 16 4 

我不知道如何能我们这样做,我的意图,但没有

这是我的代码:

public class Matrix { 

    public static void main(String args[]) { 

     int mult = 4; 


     for (int i = 1; i <= mult; i++) { 
      // System.out.println(); 


      for (int j = 1; j <= mult; j++) { 
       int operacion = i * j; 
       int suma = 0; 
       suma = operacion + suma; 

       System.out.print(operacion + " "); 

      } 


      int sum = 0; 
      sum = i + sum; 
      System.out.println(sum); 


     } 
    } 
} 

再见

回答

3

当你这样做:

for (int j = 1; j <= mult; j++) { 
    int operacion = i * j; 
    int suma = 0; 
    suma = operacion + suma; 

suma总是等于operacion,因为你把它每次都设置为0,然后添加operacion

你想这样做:

int suma = 0; 
for (int j = 1; j <= mult; j++) { 
    int operacion = i * j; 
    suma += operacion; 
+0

谢谢回答我没有注意到这一点,我要去尝试,检查更多的我的代码 – bentham 2010-07-13 18:34:19

1

将int sum = 0放在第二个for循环之外。

int suma = 0; 
for (int i = 1; i <= mult; i++) { 
     // System.out.println(); 
     suma =0; 

     for (int j = 1; j <= mult; j++) { 
      int operacion = i * j; 

      suma = operacion + suma; 

      System.out.print(operacion + " "); 

     } 
     System.out.println(suma); 


    } 
+0

谢谢,我没有注意到的总和,我得到了它 – bentham 2010-07-13 18:33:31

0

您使用它之前要重设总和为0。您可能希望在内部循环之前将总和重置,并将其添加到内部循环内部并打印到内部循环外部。

也为您的最终println,打印(“=”+总和),而不是刚刚总结。

因为您提到这是一个练习(作业),所以试着不要真正纠正您的代码 - 并感谢您对它进行标记。我希望更多的回答者会寻找这个符号来表明这个人需要学习,并且不需要为他们编码的答案。

+0

你有原因谢谢回答 – bentham 2010-07-13 18:33:56

1

您应该看看String.format()PrintStream.printf()。我认为其他人已经帮助你解决了总和问题。因此,试图打印值出这样的:

for (int i = 0; i < 4; i++) 
{ 
    int[] values = new int[4]; 
    int sum = 0; 
    for (int j = 0; j < 4; j++) 
    { 
     values[i] = (i+1) * (j+1); 
     sum += values[i]; 
    } 
    System.out.printf("%-4d%-4d%-4d%-4d = %d\n", values[0], values[1], values[2], values[3], sum); 
} 

尝试也从最后一行去掉所有的减号(-),看看你最喜欢的。为回答

+0

感谢asnwering,它是一种很好的帮助! – bentham 2010-07-13 19:04:05