返回列表 發帖

我有問題??

  1. public class TQC104 {
  2.         private static final boolean Expression = false;

  3.         public static void main(String args [] )
  4.       {
  5.             int a[]={0,1,2,3,4,5,6,7,8,9};
  6.         boolean check=false;
  7.             int i, j, c1, c2, c3, c4, c5, c6, c7, c8;
  8.             do
  9.             {
  10.             for( i=1 ; i<a.length ; i++)
  11.        {
  12.          j=(int)(Math.random()*9)+1;
  13.          a[0] = a[i];
  14.          a[i] = a[j];
  15.          a[j] = a[0];
  16.        }
  17.         c1 = a[1] + a[2] + a[3];
  18.         c2 = a[4] + a[5] + a[6];
  19.         c3 = a[7] + a[8] + a[9];
  20.         c4 = a[1] + a[4] + a[7];
  21.         c5 = a[2] + a[5] + a[8];
  22.         c6 = a[3] + a[6] + a[9];
  23.         c7 = a[1] + a[5] + a[9];
  24.         c8 = a[3] + a[5] + a[7];
  25.         if( c1==15 && c2==15 && c3==15 && c4==15 && c5==15 && c6==15 && c7==15 && c8==15)
  26.        {
  27.         check = true;
  28.        }while(Expression);
  29.        {
  30.   System.out.println("answer:");
  31.   System.out.println(a[1] + " " + a[2] + " " + a[3]);
  32.   System.out.println(a[4] + " " + a[5] + " " + a[6]);
  33.   System.out.println(a[7] + " " + a[8] + " " + a[9]);
  34. System.out.println("不論橫向縱向及對角線加起來的和都是:15");
  35.        }
  36.       }
  37.     }
  38. }
複製代碼

我後來發現你的程式不是陣列的問題,因為你是從0放到9共10個整數,所以你用1到9是沒錯的!!但是你的大括號有問題,我把你的程式修改如下就可以正常運作了,你自己在比對一下囉!
) M' b# i  U3 a# j9 e7 d+ k3 b/ b( t4 ~+ K
public class TQC104 {
+ G) }# a- i/ C# F6 [0 f        private static final boolean Expression = false;: x8 S; j; o" J% z2 @

1 ?$ t1 W; n5 m# m- c        public static void main(String args [] )
9 F3 z, i/ Y( r$ h$ d      {
& w" {, t% @- l5 |2 T. Y            int a[]={0,1,2,3,4,5,6,7,8,9};
1 ?% G" `* A- M' I/ T; I; A        boolean check=false;. K0 w# U( h2 g' n: `) D7 W! o
            int i, j, c1, c2, c3, c4, c5, c6, c7, c8;
8 p$ e! k0 z( U6 Y$ Z3 O            do
" p; {' I& Y* s            {
/ k  ]$ }4 @8 `# Y) y* n  L            for( i=1 ; i<a.length ; i++)* T  Z9 o; q9 z0 y' r# g9 `( \& \6 ^
       {2 E4 f3 ]) O. W. }/ S- s& h$ h: I' g
         j=(int)(Math.random()*9)+1;, z* F7 ~4 A1 ]
         a[0] = a[i];
# Z" Q1 z. l# ?         a[i] = a[j];
5 Y: F7 O" R$ q         a[j] = a[0];) Z6 Q. o' e4 p* I& T$ Q+ C
       }
! C; R9 ?6 E( x7 q- a- C        c1 = a[1] + a[2] + a[3];
5 K$ y4 A2 D* B; W' Y        c2 = a[4] + a[5] + a[6];
, G. x' x& M9 W        c3 = a[7] + a[8] + a[9];
& b8 H; y* V5 P/ q: s/ S1 \        c4 = a[1] + a[4] + a[7];' F! q8 Y& V6 P2 z# v
        c5 = a[2] + a[5] + a[8];, g4 Y6 N0 y4 \$ s
        c6 = a[3] + a[6] + a[9];5 J- r+ g7 i5 t1 Z9 _1 K
        c7 = a[1] + a[5] + a[9];% S3 o6 s6 Y9 p0 x) |
        c8 = a[3] + a[5] + a[7];
; A/ Q) X) q- {9 X# ~        if( c1==15 && c2==15 && c3==15 && c4==15 && c5==15 && c6==15 && c7==15 && c8==15)/ Z1 l0 q  W$ X  \
       {. e8 E. W2 q9 P
        check = true;% D! @& _& I5 w* c$ |  P0 }4 q/ S
       }
. `6 K2 Z- E( z9 v. R7 o            }while(Expression);
( P. I: G* H+ h! R" f      
1 Z$ E! O2 E  N  N( ?          System.out.println("answer:");# Z6 [6 S9 c% ~0 K6 i8 W( v% j
          System.out.println(a[1] + " " + a[2] + " " + a[3]);
8 Y# }; w; j( C. j" U          System.out.println(a[4] + " " + a[5] + " " + a[6]);
! H4 ?8 P( D% l+ l7 o* ?- O          System.out.println(a[7] + " " + a[8] + " " + a[9]);
  A, {' e0 e2 E. |         System.out.println("不論橫向縱向及對角線加起來的和都是:15");
* x$ C  G  k. o5 n7 W    }
; M: E1 d! w" w& z/ m2 P3 q; m}

TOP

返回列表