Board logo

標題: 我有問題?? [打印本頁]

作者: 許逸瑋    時間: 2012-8-30 22:17     標題: 我有問題??

  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. }
複製代碼

作者: ray    時間: 2012-9-1 22:14

我後來發現你的程式不是陣列的問題,因為你是從0放到9共10個整數,所以你用1到9是沒錯的!!但是你的大括號有問題,我把你的程式修改如下就可以正常運作了,你自己在比對一下囉!
- [% F. w! @( e! D
7 R1 F9 }( k8 }2 `8 O2 ?0 [5 zpublic class TQC104 {' a1 ^* [9 V0 G0 _  G7 X! c
        private static final boolean Expression = false;# T' z, X, z/ F" }9 b
0 G; m+ h  h6 l: I
        public static void main(String args [] )
8 {. V4 E6 X- ^% L8 _* |      {
+ e7 t7 r; {: R! p" D7 t            int a[]={0,1,2,3,4,5,6,7,8,9};# Z$ |% |# O6 i/ F+ \. @7 i# m
        boolean check=false;1 p; `$ {, H# h( J) ~' w; O
            int i, j, c1, c2, c3, c4, c5, c6, c7, c8;
4 n7 ]: g9 @" i9 l; _4 K8 z" n            do
7 Y$ D- k6 e1 |7 E, \9 y" `            {+ s0 \8 C6 m* y: h& u
            for( i=1 ; i<a.length ; i++)
$ F2 Y* @3 `' ~5 g2 C& W7 D       {
6 s. U  [! U5 L         j=(int)(Math.random()*9)+1;  O9 L9 z5 k  e9 X
         a[0] = a[i];% D( @+ e3 l/ d4 z' C
         a[i] = a[j];! s2 n% ^3 }4 z3 @
         a[j] = a[0];
# R  A' ^% E1 n' u! Q       }& G) T* a$ x* r% o
        c1 = a[1] + a[2] + a[3];2 C5 {7 R# b; r6 m. I
        c2 = a[4] + a[5] + a[6];
9 T4 G) R( s. g5 O1 R3 i* R        c3 = a[7] + a[8] + a[9];1 S4 L' r" T) d' x- \$ P! G
        c4 = a[1] + a[4] + a[7];# K+ ]& b( a8 r! j5 ~9 }
        c5 = a[2] + a[5] + a[8];6 D  P, C- n; k/ M% T. K) d0 J
        c6 = a[3] + a[6] + a[9];
0 \0 S3 _+ J" _+ ^: q3 M. a        c7 = a[1] + a[5] + a[9];8 `+ r1 u4 |7 |& G3 \; s- u! v2 f5 [* F
        c8 = a[3] + a[5] + a[7];
, j5 A; m5 o7 k% w        if( c1==15 && c2==15 && c3==15 && c4==15 && c5==15 && c6==15 && c7==15 && c8==15)
* I$ O: ]7 r) Q8 \# R       {+ g; b1 n# F) l
        check = true;. _8 g7 {; u, f4 J. W
       }
$ ^5 }& p8 Z- x5 `( U            }while(Expression);( x5 r( A" \/ f+ q
      
; T6 A( q! J$ {# @' T! q          System.out.println("answer:");. Z8 A: k8 W" b: C4 O( R* |1 I
          System.out.println(a[1] + " " + a[2] + " " + a[3]);* d& Q3 B2 n; n" J9 d
          System.out.println(a[4] + " " + a[5] + " " + a[6]);
' J4 X1 m! ]( q5 t) X1 l6 V          System.out.println(a[7] + " " + a[8] + " " + a[9]);
2 H8 ~9 H4 `7 b- M; P! h         System.out.println("不論橫向縱向及對角線加起來的和都是:15");5 l" B$ G% g8 v$ d/ @* Q
    }8 E+ I' D! P* a5 j! a3 H0 N$ A9 p
}




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2