返回列表 發帖

我有問題??

  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是沒錯的!!但是你的大括號有問題,我把你的程式修改如下就可以正常運作了,你自己在比對一下囉!
; H8 R7 ^% `& E  I# H  L
" D7 h4 ^( B  o; ?4 o% }public class TQC104 {1 \+ H1 n/ K% r$ s! k6 A5 M. y
        private static final boolean Expression = false;( ^& O( P3 l- a' w8 R

- Q7 M/ b, G/ y: c        public static void main(String args [] )
6 y# ~& s6 {7 r8 C6 L2 F      {
& n! t6 B* O: r. n9 F- t            int a[]={0,1,2,3,4,5,6,7,8,9};
) g' n0 e% i6 Y' Z0 l' Z: ]3 _; Q        boolean check=false;
% d# u4 ]$ X( U* ~/ Z7 q4 O3 r) y" @            int i, j, c1, c2, c3, c4, c5, c6, c7, c8;/ u. r- @: t  v2 |4 I+ V
            do
9 H- [, q$ l" M* M            {5 |7 i; m7 x+ Y- @% T
            for( i=1 ; i<a.length ; i++)
- ~6 J; L& d  w8 L) ^& }; W6 B6 C       {
. O: l: r) ]' t# h         j=(int)(Math.random()*9)+1;! ^: |2 E$ W# q9 V
         a[0] = a[i];0 O  y9 i+ I* [4 l! P1 G. T! y
         a[i] = a[j];5 m1 I! [4 t0 Z) B- M# j8 Z7 y
         a[j] = a[0];
5 H9 t/ `$ j4 N4 \# _, y! W       }2 J( A1 w0 s. y- y
        c1 = a[1] + a[2] + a[3];" P5 v- ~5 R) N2 W
        c2 = a[4] + a[5] + a[6];
0 `% C2 K: w# i9 U+ D" C/ n( r0 z        c3 = a[7] + a[8] + a[9];
7 O: I* m( p1 P  n# q        c4 = a[1] + a[4] + a[7];
( E* Q+ v  ?7 v        c5 = a[2] + a[5] + a[8];3 m& T' Q4 C6 j/ I7 J4 i+ ]
        c6 = a[3] + a[6] + a[9];/ k+ h: a  s; f# C$ t
        c7 = a[1] + a[5] + a[9];
8 r; Y* b# G5 v; M& q        c8 = a[3] + a[5] + a[7];
* x8 X0 Z& w7 C; J7 r; m. h        if( c1==15 && c2==15 && c3==15 && c4==15 && c5==15 && c6==15 && c7==15 && c8==15)
+ \7 j& Y7 z1 K0 M       {
; }' v/ f$ Q) D8 ~        check = true;5 I& }1 K! M1 s/ C9 B8 b
       }
: |9 n0 Y2 l! V            }while(Expression);( t- m0 L% f4 B+ Y. ^
      
- R" i$ S+ U$ T1 d          System.out.println("answer:");
' n0 z) w6 k+ t6 e8 x8 W          System.out.println(a[1] + " " + a[2] + " " + a[3]);' {5 F) o  l& M1 G
          System.out.println(a[4] + " " + a[5] + " " + a[6]);3 x; J7 P9 M' q
          System.out.println(a[7] + " " + a[8] + " " + a[9]);8 [/ z0 M4 t  b8 p
         System.out.println("不論橫向縱向及對角線加起來的和都是:15");
, Y1 u+ s* ^8 s# v( G. n    }: T1 h% |3 P- L+ i# t
}

TOP

返回列表