我想算一个对角线上的数的和,但怎么也出不来,大家帮满看看,看看那里写错了 
public class huang { 
    public static void main(String[] args) { 
    int i,k=0,s=0; 
      for( i=1;i <=25;i++){ 
      System.out.printf("%3d",i); 
      if(i%5==0) 
      System.out.println(); 
到这里为止,输出的是1到25的一张表
1  2  3  4  5
6  7  8  9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
我要求的是两条对角线上的数的和;还有的就是求四条边上的数字的和;在帮忙看看这程序从if开始错在哪里!

解决方案 »

  1.   

    有数组你不用 哎 杯具!!!
    class Test {
    public static void main(String[] args) {
    int[][] array = new int[5][5];
    int count = 0;
    int sum1 = 0;
    int sum2 = 0;
    for(int i=0; i<array.length; i++) {
    for(int j=0; j<array[i].length; j++) {
    array[i][j] = count;
    count++;
    System.out.print(String.format("%-4d",array[i][j]));
    }
    System.out.println("\n");
    }
    for(int i=0; i<array.length; i++) {
    sum1 +=array[i][i];
    }
    System.out.println("从↖到↘的和= "+sum1);
    for(int i=0; i<array.length; i++) {
    sum2 +=array[i][array.length-i-1];
    }
    System.out.println("从↗到↙的和= "+sum2);
    }
    }
      

  2.   

    for(i=0;i <25;i++){  
            if(k==6*i+1||k==4*i+1) 
            System.out.println(k); 
            s=s+k; 
          } 
          System.out.println(s); 
    这一段你把i换成K试试
    否则你K总是0哪成啊
      

  3.   

    int a=1;b=0;
    for(int i=0,i<5,i++){
        a=a+6*i;
        b=b+a;
    }
    System.out.println(b);//左上到右下对角线和int a=5;b=0;
    for(int i=0,i<5,i++){
        a=a+4*i;
        b=b+a;
    }
    System.out.println(b);//右上到左下对角线和
    求两条对角线的和:for(K=0;K <25;K++){
         for(i=0,i<5,i++)  
            if(k==6*i+1||k==4*i+1) 
            System.out.println(k); 
            s=s+k; 
          }

    System.out.println(s);